Articles of 安卓

android:检查共享首选项中是否存在值

我正在创build共享首选项,如下所示 preferences = getSharedPreferences("text", 0); final Editor editor = preferences.edit(); String s1 = serverIP.getText().toString(); String s2 = serverPort.getText().toString(); String s3 = syncPass.getText().toString(); String s4 = proxyServer.getText().toString(); String s5 = proxyPort.getText().toString(); editor.putString("SERVERIP", s1); editor.putString("SERVERPORT", s2); editor.putString("SYNCPASS", s3); editor.putString("PROXYSERVER", s3); editor.putString("PROXYPORT", s3); 和onCreate我想显示在一组新的TextViews的值,但是我第一次没有任何值存储在共享首选项,将得到一个NULL指针exception。 所以我想知道是否有任何内置的方法可以检查共享首选项是否包含任何值 ,以便我可以检查值是否存在,如果不存在,然后用首选项值replace新的TextViews集。

如何在Android中的MapView上绘制边框文字?

我正在尝试在Android上的MapView上绘制一些文本。 文本的绘制很好,但是很难阅读文本,因为它是白色的,没有黑色边框(就像在MapViews上自然出现的表示城市,州和国家的文本的其余部分一样)。 我似乎无法弄清楚如何绘制黑色边框的文字。 有人知道怎么做吗? 这是我现在正在使用的代码types(这只是示例代码,在我的覆盖之一): @Override public void draw(Canvas canvas, MapView mapView, boolean shadow) { Paint textPaint = new Paint(); textPaint.setARGB(255, 255, 255, 255); textPaint.setTextAlign(Paint.Align.CENTER); textPaint.setTextSize(16); textPaint.setTypeface(Typeface.DEFAULT_BOLD); canvas.drawText("Some Text", 100, 100, textPaint); super.draw(canvas, mapView, shadow); }

如何在android上以编程方式取消配对或删除配对的蓝牙设备?

该项目是使用我的android手机与我的arduino设备连接。 但我怎样才能解开配对的。 我发现似乎配对的列表存储在bluetoothadapter可以随时检索的地方。 PS:第一,我知道长按配对设备将取消配对。 但是这里的问题是我怎样才能以编程的方式来做到这一点? 第二,我已经检查过bluetoothdevice和bluetoothAdapter类,没有实现这个function。 谢谢。

Android-Studio显示XML代码而不是devise

我正在使用IntelliJ Android-Studio 0.8.2 ,我想知道是否有可能在编辑XML文件时默认打开代码? 打开多个文件时总是显示“devise”选项卡,但打开单个文件时,有时会在“文本”选项卡中打开它们,但有时不会。 有什么办法将默认选项卡设置为文本 ? 这很烦人,因为我很less使用“devise”选项卡。 这是我正在谈论的一个截图: 提前致谢。

在什么条件下ART紧凑堆?

Android 5.0+中ART运行时间的特性之一就是堆压缩,以减less堆碎片。 碎片堆可能会更容易得到OutOfMemoryErrors ,因为即使堆总体上有足够的可用空间,也可能没有足够大的足够满足您的需要的连续空闲块。 我明白,当应用程序移动到背景时,会发生这种情况,基于Google会议演示等。 不过,我可以在文档中find的唯一的说法是: 同质空间压缩是自由列表空间来自由列表空间压缩,这通常发生在应用程序移至暂停不可察觉进程状态时。 这样做的主要原因是减less内存使用量和碎片整理堆。 在技​​术上,究竟“停顿不可察觉的过程状态”究竟意味着什么还不清楚。 假设一个应用程序目前没有任何前台活动。 开发人员可能做了什么,可能会阻止堆应用程序的进程压缩? 例如,是否有一个前台服务块堆压缩?

Android:获取checkbox的值

当点击button时,我需要检查checkbox的值。 Java代码: dualcamera1 = (CheckBox)findViewById(R.id.Camera1_DualDisplay); dualcamera2 = (CheckBox)findViewById(R.id.Camera2_DualDisplay); dualcamera3 = (CheckBox)findViewById(R.id.Camera3_DualDisplay); dualcamera4 = (CheckBox)findViewById(R.id.Camera4_DualDisplay); dualdisplay = (Button)dialog.findViewById(R.id.DisplayDualVideo);

为首选项创build自定义布局

我正在尝试创build一个自定义布局来pipe理首选项。 我知道有PreferenceActivity提供的标准和推荐的布局,但是如果我想添加一个Button,我该如何去做呢? 我打算devise应用程序,以便当用户触摸主活动屏幕上的某个项目时,它将转到用户可以启用的选项的“子菜单”,随后出现在下一个屏幕上(必须在此处线性进展)。 用户每次使用应用程序时都必须设置这些。 目前,我正在考虑使用标准的PreferenceActivity来表示这个选项的子菜单。 也许这不是正确的做法? 编辑:我忽略了解决scheme,同时谷歌search。 如何将button添加到PreferenceScreen

AdMob无法显示广告,因为configChanges

可能重复: Eclipse中的android:configChanges的Admob错误 我想在我的android应用程序中显示AdMob的广告。 我做了所有必要的文件。 但是我无法运行我的应用程序,因为在这行上我的AndroidManifest.xml中有一个错误: <activity android:name="com.google.ads.AdActivity" android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/> 错误是: error: Error: String types not allowed (at 'configChanges' with value 'keyboard|keyboardHidden|orientation| screenLayout|uiMode|screenSize|smallestScreenSize'). 但是,如果我删除了一些值,我的应用程序正在运行,而不是广告,我有这样的文字:“你必须在AndroidManifest.xml中用configChanges声明AdActivity。 我不解决这个问题。 我正在使用android SDK 2.1和最后一个google adMob SDK 4.3.1 谢谢

Android的GCM基本实现

更新:我解决了下面的代码中的问题,所以这是一个很好的如何使用GCM基本工作示例 所以,我想实现Android GCM到我的应用程序。 以下是我已经添加到清单中的相关部分: <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="20" /> <permission android:name=".permission.C2D_MESSAGE" android:protectionLevel="signature" /> <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" /> <uses-permission android:name=".permission.C2D_MESSAGE" /> <uses-permission android:name="android.permission.WAKE_LOCK"/> <uses-permission android:name="android.permission.GET_ACCOUNTS"/> … <receiver android:name="com.google.android.gcm.GCMBroadcastReceiver" android:permission="com.google.android.c2dm.permission.SEND" > <intent-filter> <action android:name="com.google.android.c2dm.intent.RECEIVE" /> <action android:name="com.google.android.c2dm.intent.REGISTRATION" /> <category android:name="com.badbob.app.gmctestapp" /> </intent-filter> </receiver> <service android:name=".GCMIntentService" /> 我已经将下面的代码添加到我的主要活动的onCreate中: GCMRegistrar.checkDevice( this ); GCMRegistrar.checkManifest( this ); final String regId = GCMRegistrar.getRegistrationId( this […]

Android无法实例化应用程序java.lang.ClassNotFoundException:

我正在Android市场上的主机上的应用程序工作。 有时候(一个月一次)我收到了一个崩溃报告: 无法实例化应用程序java.lang.ClassNotFoundException 应用程序下载量在10,000-50,000之间。 我不知道为什么这些例外在一些设备上并不是全部(我在3种不同的设备上testing过,而且我不能在我的结尾重新生成它)。 我阅读关于这个问题的不同Android论坛上的文章/build议,但我没有成功解决它。 有没有人面临类似的问题,并build议我该怎么办? 注意:我正在像这样扩展应用程序类 public class MyApplication extends Application { } 我像这样在manifest.xml中注册它 <application android:icon="@drawable/app_icon" android:label="@string/my_app_name" android:name="MyApplication"> 堆栈跟踪 : java.lang.RuntimeException: Unable to instantiate application com.xyz.MyApplication java.lang.ClassNotFoundException: com.xyz.MyApplication in loader dalvik.system.PathClassLoader[/mnt/asec/com.xyz-1/pkg.apk] at android.app.ActivityThread$PackageInfo.makeApplication(ActivityThread.java:650) at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4238) at android.app.ActivityThread.access$3000(ActivityThread.java:126) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2076) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:123) at android.app.ActivityThread.main(ActivityThread.java:4633) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:521) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:858) at […]