رفتن به مطلب
انجمن اندروید ایران | آموزش برنامه نویسی اندروید و موبایل
  • android.png.1fab383bc8500cd93127cebc65b1dcab.png

نمایش دستگاه های بلوتوث + قدرت سیگنال


پست های پیشنهاد شده

درود بر دوستان.من یه برنامه ساده می خوام که دستگاه های بلوتوث داخل محدوده رو شناسایی کنه و به همراه قدرت سیگنالشون نمایش بده.بعدش بتونه به یکیش وصل بشه و تبادل داده کنه.متاسفانه من چیز زیادی از برنامه نویسی اندروید نمیدونم اما به عنوان نرم افزار اختصاصی که باید واسه یه وسیله ای هوشمند که با avr ساختم لازمه هر جور شده نمونه اولیه این اپلیکیشن رو تا ۳۱ تیر برسونم.دوستان لطفا کمک


من این کد رو تو یه سایت خارجی پیدا کردم:

package com.mycompany.myapp2;

import android.os.Bundle;

import android.app.Activity;

import android.bluetooth.BluetoothAdapter;

import android.bluetooth.BluetoothDevice;

import android.content.BroadcastReceiver;

import android.content.Context;

import android.content.Intent;

import android.content.IntentFilter;

import android.view.Menu;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.TextView;

public class MainActivity extends Activity {

private BluetoothAdapter BTAdapter = BluetoothAdapter.getDefaultAdapter();

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_rssi);

registerReceiver(receiver, new IntentFilter(BluetoothDevice.ACTION_FOUND));

Button boton = (Button) findViewById(R.id.button1);

boton.setOnClickListener(new OnClickListener(){

public void onClick(View v) {

BTAdapter.startDiscovery();

}

});

}

@Override

public boolean onCreateOptionsMenu(Menu menu) {

getMenuInflater().inflate(R.menu.activity_rssi, menu);

return true;

}

private final BroadcastReceiver receiver = new BroadcastReceiver(){

@Override

public void onReceive(Context context, Intent intent) {

String action = intent.getAction();

if(BluetoothDevice.ACTION_FOUND.equals(action)) {

int rssi = intent.getShortExtra(BluetoothDevice.EXTRA_RSSI,Short.MIN_VALUE);

String name = intent.getStringExtra(BluetoothDevice.EXTRA_NAME);

TextView rssi_msg = (TextView) findViewById(R.id.textView1);

rssi_msg.setText(rssi_msg.getText() + name + " => " + rssi + "dBm\n");

}

}

};

}

و این قالب رو واسش نوشتم:

<?xml version="1.0" encoding="utf-8" ?>

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:gravity="left"

android:orientation="vertical" >

android:id="@+id/button1"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="show bluetooth signal" />

android:id="@+id/textView1"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="show here" />

اما ارور داره.لطفا کمک کنید

لینک ارسال
به اشتراک گذاری در سایت های دیگر
  • 2 هفته بعد...

آقا خواهش می کنم کمک کنید!من که کد رو گذاشتم فقط دو تا ارور داره.یکیش خط ۲۱ از activity_rssi اشکال گرفته یکی هم چند خط پایینتر از menu که activity_rssi تو همون خط هم استفاده شده.لطفا توضیح بدین اینا چی هستن و چجوری باید اصلاحش کنم؟

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام دوست عزیز

کد و  تو تگ خودش بذارین خوانا باشه.

این activity_rssi یک فایل xmlهست که توی فایل جاوا معرفی شده. شما یک فایل xml به همین نام توی لایوت درست کنین و ببینید توی کد جاوا چه چیزایی قرار گرفته همونا رو توی صفحه قرار بدین( منظورم ویجتاست)

بعدی هم که گفتین اونم فایل xml هست تو پوشه menu که مشخص نیست توش چیه. اگه منویی نداره کد و از فایل جاوا پاک کنین


شما قالب و که نوشتین درسته. اسمشو به همین اسمی که توی برنامه هست تغییر بدین

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سپاس فراوان.حقیقتش من چیز زیادی از برنامه نویسی اندروید نمیدونم.مدتیه مشقول ساختن یه گجت پوشیدنیم که از طریق بلوتوث به گوشی هوشمند متصل می شه.در یه نگاه اجمالی شرح عملکرد برنامه اینه که دستگاه های بلوتوث اطراف رو پیدا کنه و قدرت سیگنالشون رو نمایش بده و در صورت نیاز به یکیشون متصل بشه و تبادل داده کنه.سپاسگذار خواهم بود اگه کسی از دوستان من رو تا پایان این پروژه یاری کنه.

در مورد راهنماییهاتون باید بگم من از روی لینک زیر این پروژه رو ایجاد کردم که جز کد هایی که گذاشتم چیز دیگه ای نذاشته

http://stackoverflow.com/questions/15312858/get-bluetooth-signal-strength

میدونم که یه چیزایی باید تو مانیفست اضافه بشه اما در مورد محتویات اون فایلی که گفتین چیزی نگفته


activity_rssi.xml رو تو پوشه های layout و menu ساختم ارورها برطرف شد اما بعد از نصب برنامه باز نمیشه و ارور میده

لینک ارسال
به اشتراک گذاری در سایت های دیگر

کد مربوط به منو رو پاک کردم و اسم فایل رو به فایل اصلی برنامه تغییر دادم برنامه اجرا شد ولی وقتی روی دکمه کلیک میکنم ارور میده.فکر کنم یه سری مجوزا باید تو مانیفست قرار بگیره.لطفا راهنمایی کنید

لینک ارسال
به اشتراک گذاری در سایت های دیگر

درود.مشکل برطرف و برنامه اجرا شد اما مشکلی که هست قدرت سیگنال رو به صورت آنی با کلیک دکمه نمایش نمیده و تاخیر داره.آیا این مشکل قابل حله؟

لینک ارسال
به اشتراک گذاری در سایت های دیگر

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...