Articles of android 2.2 froyo

无法在$ ANDROID_AVD_HOME中findINI文件,也无法在$ HOME / .android / avd中find

当我按下AVD管理器上的开始按钮时,我无法在Android SDK上启动虚拟设备,此错误显示在我的屏幕上: Starting emulator for AVD ‘AVD_for_Galaxy_Nexus_by_Google’ PANIC: Could not find AVD_for_Galaxy_Nexus_by_Google.ini file in $ANDROID_AVD_HOME nor in $HOME/.android/avd”! 这是屏幕截图:

Android上SQLite数据库的最大大小是多少?

我有一个大小超过2.6 GiB的SQLite数据库。 (数据库包含地图。)此数据库由RMaps应用程序使用。 当以最大缩放将地图移动到某些部分时,应用程序会突然关闭。 但是,没有强制关闭消息,没有报告按钮。 所以,我有一个想法,它是由读取超出一定限制的块引起的,例如max(int)。 由于RMaps只使用简单的SQL语句,我认为问题不在于RMaps,而在于Android SQLite驱动程序。 Android上的SQLite数据库是否有大小限制? (我在Nexus One上有Froyo,但我不认为这只是Froyo的一个问题。) 日志输出: 08-14 10:24:51.689 I/ActivityManager( 81): Starting activity: Intent { act=android.intent.action.SEARCH flg=0x10000000 cmp=com.robert.maps/.MainMapActivity (has extras) } 08-14 10:25:01.879 E/AndroidRuntime(12441): FATAL EXCEPTION: pool-1-thread-2 08-14 10:25:01.879 E/AndroidRuntime(12441): android.database.sqlite.SQLiteDiskIOException: disk I/O error 08-14 10:25:01.879 E/AndroidRuntime(12441): at android.database.sqlite.SQLiteQuery.native_fill_window(Native Method) 08-14 10:25:01.879 E/AndroidRuntime(12441): at android.database.sqlite.SQLiteQuery.fillWindow(SQLiteQuery.java:70) 08-14 10:25:01.879 E/AndroidRuntime(12441): at android.database.sqlite.SQLiteCursor.fillWindow(SQLiteCursor.java:283) […]

ContentProvider没有SQL

我有两个数据需要从外部应用程序访问和存储。 根据文档ContentProviders是唯一可能的方式,但它也提到了外部存储。 ContentProvider实现了一个类似数据库的“接口”,使用数据库对于两个数据来说是非常不必要的。 我宁愿把它们保存到一个文件中,但是通过实现抽象方法来使用ContentProvider是有问题的,因为这些方法被构造为数据库查询。 我知道没有任何内容指定ContentProvider必须使用下面的数据库来存储数据,但是有没有其他方法来存储必须共享到文件系统的最小数量的数据?

Camera.getNumberOfCameras()不适用于Android 2.2

我正在尝试使用API Camera.getNumberOfCameras()但在编译时出现错误“无法find符号”。 我的API级别是8.任何人都可以告诉我最新的方式来获得这个function的工作? 谢谢。

ListView setOnItemClickListener和setOnItemSelectedListener存储选定的项目索引

如果我们想知道SelectedItem(.getSelectedItemPosition())的索引,我已经在这个网站上读过,有必要定制ListView的setOnItemSelectedListener和setOnItemClickListener。 所以这就是我所做的,但它不存储SekectedItem的位置,而是我总是-1 … 我想要做的只是给用户一个方法来删除从列表中select项目和项目,并点击一个button。 请参阅下面的代码: listViewPeople.setOnItemClickListener(new ListView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> a, View v, int i, long l) { try { // Remembers the selected Index listViewPeopleId = listViewPeople.getSelectedItemPosition(); } catch(Exception e) { System.out.println("Nay, cannot get the selected index"); } } }); listViewPeople.setOnItemSelectedListener(new ListView.OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> a, View v, int i, […]

从代码开始/停止内置的Wi-Fi / USB共享?

如何从我的应用程序启动或停止Android 2.2的内置共享?

Android相机function在几部手机上无法使用

我刚刚意识到我的相机活动在一个水平仪不适用于某些设备。 一些DROID品牌和皮肤的手机。 它到目前为止所有的谷歌手机与标准的Android实施。 我有一个简短的时刻来debugging2.2(不知道这是什么型号的手机,但它被剥皮)的设备,我看到debugging器(ICamera失败)(相机错误100) 但我没有机会find错误的确切位置,但是我确实看到其他人遇到了这个问题(关于在开始预览之前获取预览大小的一些事情),但没有明显的反应或任何直观的东西有,但这里是我的相机代码,什么使这项工作更普遍? //this is in OnCreate preview = (SurfaceView) findViewById(R.id.cameraplacer); previewHolder = preview.getHolder(); previewHolder.addCallback(surfaceCallback); previewHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS); //这是生命周期方法之外的 SurfaceHolder.Callback surfaceCallback=new SurfaceHolder.Callback() { public void surfaceCreated(SurfaceHolder holder) { if (camera == null) { camera = Camera.open(); try { Camera.Parameters camParams = camera.getParameters(); camParams.setFlashMode(Parameters.FLASH_MODE_AUTO); setDisplayOrientation(camera, 90); camera.setPreviewDisplay(previewHolder); camera.setParameters(camParams); } catch (IOException e) { camera.release(); camera = […]

java.lang.IllegalStateException:指定的子项已经有父项。 您必须先调用子对象的父对象的removeView()

这是我的代码: Frame.gameController.test(); setContentView(Frame.world.getScreen()); Frame.world.setRunning(true); 在第二行我收到以下错误: ERROR/AndroidRuntime(15229): Caused by: java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first. 任何人都可以帮我解决吗? 以前它工作得很好,当我从事另一项活动时,问题就开始了。 我正在使用android 2.2。

如何判断一个特定的TTS引擎是否被选中(启用)?

这个问题只涉及Android 2.2 : 以下屏幕截图显示了3种不同的文本到语音引擎: PIco TTS(Android默认为Froyo 2.2) IVONA文本到语音HQ SVOX经典TTS 在这个屏幕截图中,你可以看到并不是所有的3都被选中(启用)。 相反,IVONA没有被检查,只剩下微微(暗示,因为它是硬编码的)和SVOX(检查)。 我希望能够以编程方式从我的应用程序中查询是否检查了特定的TTS引擎(如IVONA)(当然,假设我在编码时知道它们的软件包名称)。 在Android 2.2中,我所拥有的是getDefaultEngine() ,在Pico被选为缺省并检查SVOX的情况下(换句话说,如果Pico是默认的,我怎么知道SVOX被选中了? 我如何在Android 2.2中实现 ? 这是可能吗? PS Android 4.x(API> = 14)引入了getEngines() ,可能导致您相信ICS +解决了这个问题,但仔细检查发现: getEngines()只列出已安装 ,未检查 (已启用)的软件包。 每个列出的软件包附带的EngineInfo只提供名称,标签,图标,优先级以及它是否是系统映像的一部分。 换句话说,与Android 2.2相同的限制。

Android电子市场:“此项目与您的设备不兼容”。

这真的让我神经紧张。 我已经尝试了一切,让我的应用程序在一些更奇特的选项卡上工作! 现在已经发布了一个testing应用程序(只是一个Eclipse的项目没有别的),尝试不同的清单设置。 不过,我无法让我的应用在Android Market的标签上工作。 它直接与debugging工作在设备上。 我testing的是:Android 2.2 Android 2.3 添加了这个: <uses-feature android:name="android.hardware.bluetooth" android:required="false" /> <uses-feature android:name="android.hardware.camera" android:required="false" /> <uses-feature android:name="android.hardware.telephony" android:required="false" /> <uses-feature android:name="android.hardware.wifi" android:required="false" /> <uses-feature android:name="android.hardware.microphone" android:required="false" /> 试过这个: <supports-screens android:largeScreens="true" android:normalScreens="true" android:smallScreens="true" android:anyDensity = "true"/> 然后所有这一切的组合。 我在这个testing应用程序没有使用权限。 我不明白的是,一些应用程序的工作,我似乎无法find为什么他们的工作,而不是其他。 我有不同的设备,我使用网站兼容性检查和一些应用程序,他们只是工作,有些则不。 我想知道的是为什么一个应用程序与Android Market不兼容的特定设备。 有什么方法可以获取这些信息吗? 我想这应该是在某个地方find,因为它有时有时,有时不工作。 请帮我find一个方法来解决这个问题。 (我没有寻找设备上的解决方法/根,已经在一些设备上做到这一点,让应用程序工作。我想知道为什么) —-编辑—-我现在find并运行这个命令为我的testing应用程序:./aapt dump badging testapp.apk 然后我看到:support-any-density:'true'density:'120''160''240'在我的设备上运行screeninfo,它的密度是200.所以我猜这就是问题所在。 所以现在的问题是,如何将200添加到该列表。 […]