Articles of 安卓

加载Admob / Firebase广告后,DayNight主题中的颜色变暗

我为我的应用程序使用Theme.AppCompat.DayNight.NoActionBar主题。 当我加载adMob interstital时,某些颜色会在“夜间”模式下被破坏(即在RecyclerView中)。 屏幕: 那些不正确的颜色来自“notnight”值。 当我关闭应用程序并再次运行它一切都没问题。 当我杀了应用程序时,我有同样的情况。 活动代码: public class MainActivity extends AppCompatActivity { static { AppCompatDelegate.setDefaultNightMode( AppCompatDelegate.MODE_NIGHT_AUTO); } private ArrayList planetList = new ArrayList(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); populateRecycler(); RecyclerView recyclerView = (RecyclerView) findViewById(R.id.recycler_view); LinearLayoutManager layoutManager = new LinearLayoutManager(this); recyclerView.setLayoutManager(layoutManager); PlanetAdapter adapter = new PlanetAdapter(planetList, getApplicationContext()); recyclerView.setAdapter(adapter); InterstitialAd interstitialAd = […]

Android ndk-r8“错误尝试执行’cc1plus’:execvp:没有这样的文件或目录”

我正在尝试使用Mountain Lion上的Android NDK按照本指南为Android构建一个库 http://masl.cis.gvsu.edu/2012/01/25/android-echoprint/ 当编译库时,我运行: cd /ndk-build 我收到以下错误: Compile++ thumb : echoprint-jni <= AndroidCodegen.cpp arm-linux-androideabi-g++: error trying to exec 'cc1plus': execvp: No such file or directory make: *** [/Users/wingdom/Desktop/obj/local/armeabi/objs/echoprint-jni/AndroidCodegen.o] Error 1 我相信我已将我需要的所有内容添加到路径variables中: export PATH=$PATH:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:Developer/android-sdk/tools:/Developer/android-sdk/platform-tools:/Developer/android-ndk:/Developer/android-ndk/toolchains/arm-linux-androideabi-4.6/prebuilt/darwin-x86/bin 为了让它编译,我还需要做些什么? 我目前正在使用r8b NDK,但是已经尝试过版本一直回到6。 编辑: 我试过这个解决方案: 构建android ndk示例项目时出错 加入 export PATH=$PATH:/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2 到我的路径给我这个错误: cc1plus: error: unrecognized command line option “-mbionic” cc1plus: error: unrecognized […]

如何使俄罗斯数量字符串正常工作?

我遇到了数量字符串(复数)的问题。 手册说 ,我可以提供特定于每个本地化的数量字符串,并且有几种常见情况:“零”,“一”,“两个”,“很少”,“很多”和“其他”。 我不知道是否涵盖了世界上所有语言的所有可能案例; 无论如何,对于俄罗斯来说,我正在尝试进行本地化。 在俄语中,2到4的数字应该被视为“少数”(规则实际上更复杂,但我只需要10以下的数字)。 但是,当我请求数量字符串为2时,系统将采用“其他”字符串。 它既不是“两个”字符串也不是“少数”字符串(我已经在我的资源中提供了它们)。 如果我删除了“其他”字符串,我会得到exception: android.content.res.Resources$NotFoundException: Plural resource ID #0x7f080000 quantity=2 item=other 我在模拟器(Android 2.1)和真实设备(Android 2.3)上都尝试过这种方法,两种情况下的行为都是一样的错误。 显然,某处存在错误 – 系统无法识别我语言的特定于语言环境的数量。 这可能是Android有一些错误吗?

Android工作室不承认Facebook库

我刚刚将新的Android Studio下载到我的mac并尝试将我的项目导入到它而不为它们创建gradle文件(因为我有一些问题导入它,我看到它没有必要)。 我去了文件>导入并选择了我的父项目,将所有库导入到项目中但仍然出现此错误: import com.facebook.Session; 无法解析symbole’Session’ 有关如何成功将其导入新IDE的任何想法?

存储和比较数据库中的对象

我正在开发一个Android应用程序,它加载到学生列表中,以显示在基于列表的活动中。 该应用程序有两个组件。 有一个服务器通过xml响应当前活跃学生的列表和应用程序端的数据库,该数据库存储这些学生的一些细节(姓名,年龄等)。 我想要一种同步这两个数据源的方法。 当应用程序启动时,我想检查xml以查看是否添加/删除了服务器上的学生并相应地更新了数据库。 我会在登录时将xml列表解析为学生对象。 有没有办法将整个对象存储/检索到android支持的数据库中,所以我可以直接比较以查看更新/删除的内容? 它最终会变成类似的东西 if (serverStudent[0].name == dbStudent[0].name) //overwrite dbStudent object with serverStudent fields 在Android中实现对象持久性然后比较的最有效/轻量级方法是什么?

Android 2.2支持阿塞拜疆语言?

据此,Android 2.2不支持阿塞拜疆语 – 但他们声称“注意:Android支持的语言环境比上面列出的更多。” 那它究竟是怎么回事? 是否支持阿塞拜疆语? 编写申请表是否存在必须在阿塞拜疆展示文字的问题?

如何在API级别3上过滤MotionEvent.getAction()(不存在ACTION_MASK)

我正在写一个OnTouchListener 。 我发现我可以通过使用像bit这样的位操作来检查ActionType if ((event.getAction() & MotionEvent.ACTION_MASK) == MotionEvent.ACTION_MOVE) 但Android 1.5中没有MotionEvent.ACTION_MASK (API级别3)它是如何完成的?

使用Context获取LayoutInflater

这两者有什么区别吗? inflater = (LayoutInflater) LayoutInflater.from(context); inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

如何向预先安装的付费Android应用程序的用户分发更新?

我写了一个小的Android应用程序。 它作为两个不同的版本在Google Play上发布 一个function有限的免费试用版 和付费版本没有限制 现在我想要在他的设备上预安装我的应用程序的平板电脑的经销商。 显然,我希望他的产品的所有者能够从我的应用程序的后续更新中受益。 有没有办法在设备上预先安装付费应用程序,仍然允许免费更新应用程序? 谢谢!

Google帐户的Android身份validation已传递到Google App Engine

在深入研究实现这个特定设计的细节之前,我想要一些关于我是否正确接近它的建议/validation。 我有Android的初学者知识,Python,GAE和OpenId的高级初学者。 环境 Android应用程序 在Google App Engine上使用Python构建的Web服务 使用Google帐户的用户 脚本 我想在我的Android应用程序中启用登录function,而无需在GAE中编写自己的身份validation系统。 在应用程序内,用户应该能够以客人身份进行游戏而无法保存高分。 如果用户希望保存他的高分,他将在Android设备上对其Google帐户进行身份validation。 在游戏结束时,经过身份validation的用户高分将通过Google App Engine上的游戏网络服务保存(与他的Google帐户相关联)。 用户还应该能够注销并将设备交给朋友,该朋友还可以登录,玩游戏并保存与她的Google帐户相关的高分。 设计 在Android应用程序中,只要用户希望登录,就可以使用OpenId进行身份validation(使用Nick在此处发布的内容。 从返回的cookie中获取OpenId标记,并将其与当前用户关联。 对GAE服务进行Web服务调用,将令牌添加为cookie并包含高分 Web服务将validation令牌是否有效 Web服务将确定与令牌关联的唯一Google帐户ID(不知道如何执行此操作,但假设应该有一种方法可以执行此操作)并在交叉引用表中查找该唯一ID以查找用户-game id(以前在帐户设置期间创建) 保存与游戏内ID相关联的高分。 允许注销,以便其他用户可以使用他们的Google帐户登录游戏并重复上述过程 感谢您的帮助