Questions tagged «android»

Android是Google的移动操作系统,用于对数字设备(智能手机,平板电脑,汽车,电视,Wear,Glass和IoT)进行编程或开发。对于与Android相关的主题,请使用特定于Android的标签,例如android-intent,android-activity,android-adapter等。对于与开发或编程无关但与Android框架相关的问题,请使用以下链接:https:// android.stackexchange.com。

6
Android Room:使用Room插入关系实体
我已使用Relation在Room中添加了一对多关系。我参考了这篇文章,为Room中的关系编写了以下代码。 该帖子介绍了如何从数据库中读取值,但是将实体存储到数据库中导致结果userId为空,这意味着两个表之间没有关系。 我不知道什么是理想的途径,insert一个User并List of Pet到数据库中,同时具有userId价值。 1)用户实体: @Entity public class User { @PrimaryKey public int id; // User id } 2)宠物实体: @Entity public class Pet { @PrimaryKey public int id; // Pet id public int userId; // User id public String name; } 3)UserWithPets POJO: // Note: No annotation required at …

7
RuntimeException:您的内容必须具有ID属性为“ android.R.id.list”的ListView
我遇到了运行时异常 java.lang.RuntimeException:您的内容必须具有ID属性为“ android.R.id.list”的ListView 我不知道怎么了 @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.newslist); mDbHelper.open(); fillData(); } private void fillData() { Bundle extras = getIntent().getExtras(); long catID = extras.getLong("cat_id"); Cursor c = mDbHelper.fetchNews(catID); startManagingCursor(c); String[] from = new String[] { DBHelper.KEY_TITLE }; int[] to = new int[] { R.id.newslist_text }; SimpleCursorAdapter notes …
87 android 

30
将Android支持库更新为23.2.0导致错误:XmlPullParserException二进制XML文件行#17 <vector>标签需要viewportWidth> 0
我尝试将支持库更新到23.2.0,并遇到此错误: Exception while inflating &lt;vector&gt; org.xmlpull.v1.XmlPullParserException: Binary XML file line #17&lt;vector&gt; tag requires viewportWidth &gt; 0 at android.support.graphics.drawable.VectorDrawableCompat.updateStateFromTypedArray(VectorDrawableCompat.java:535) at android.support.graphics.drawable.VectorDrawableCompat.inflate(VectorDrawableCompat.java:472) at android.support.graphics.drawable.VectorDrawableCompat.createFromXmlInner(VectorDrawableCompat.java:436) at android.support.v7.widget.AppCompatDrawableManager$VdcInflateDelegate.createFromXmlInner(AppCompatDrawableManager.java:829) at android.support.v7.widget.AppCompatDrawableManager.loadDrawableFromDelegates(AppCompatDrawableManager.java:303) at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:178) at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:173) at android.support.v7.widget.TintTypedArray.getDrawable(TintTypedArray.java:60) at android.support.v7.widget.Toolbar.&lt;init&gt;(Toolbar.java:254) at android.support.v7.widget.Toolbar.&lt;init&gt;(Toolbar.java:196) at java.lang.reflect.Constructor.constructNative(Native Method) at java.lang.reflect.Constructor.newInstance(Constructor.java:417) at android.view.LayoutInflater.createView(LayoutInflater.java:594) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:696) at android.view.LayoutInflater.rInflate(LayoutInflater.java:755) at android.view.LayoutInflater.inflate(LayoutInflater.java:492) at …

5
Intent.EXTRA_EMAIL未填充“收件人”字段
我正在尝试使用 意图从我的应用程序发送电子邮件,但不会填充电子邮件的“收件人”字段。如果我添加代码以填写主题或文本,则它们可以正常工作。仅“收件人”字段将不会填充。 我也尝试过将类型更改为“ text / plain”和“ text / html”,但遇到相同的问题。有人可以帮忙吗? public void Email(){ Intent emailIntent = new Intent(Intent.ACTION_SEND); emailIntent.setType("message/rfc822"); //set the email recipient String recipient = getString(R.string.IntegralEmailAddress); emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL , recipient); //let the user choose what email client to use startActivity(Intent.createChooser(emailIntent, "Send mail using...")); } 我要使用的电子邮件客户端是Gmail

4
drawable-xxhdpi的正确大小图标是什么?
众所周知,正确尺寸的图标: * drawable-ldpi (120 dpi, Low density screen) - 36px x 36px * drawable-mdpi (160 dpi, Medium density screen) - 48px x 48px * drawable-hdpi (240 dpi, High density screen) - 72px x 72px * drawable-xhdpi (320 dpi, Extra-high density screen) - 96px x 96px 在Jelly Bean上drawable-xxhdpi可以得到支持。那么正确的尺寸图标是什么?

20
为什么Eclipse的Android设备选择器没有显示我的Android设备?
我正在使用适用于Eclipse的Android插件,并且当我尝试通过Android设备选择器使用真实设备运行程序时,我的手机未列为设备。我已经更新了Eclipse,所有Android程序包和USB驱动程序,但仍未显示。我的手机运行的是Android 2.1,这也是Eclipse项目中列出的目标版本。 碰巧的是,设备显示为未知目标,序列号显示为问号,如屏幕截图所示。
87 android  eclipse  adb 

8
在工具栏上显示ActionMode
除了传统的,我正在尝试将android.view.ActionMode搭配新android.support.v7.widget.Toolbar的android.app.ActionBar。我可以显示它: toolbar.startActionMode(callback); 问题是ActionMode会在上方显示ActionBar,而不是在上方显示Toolbar。有办法改变吗? 我尝试在主题中设置以下内容,但似乎没有任何改变: &lt;item name="windowActionModeOverlay"&gt;true&lt;/item&gt;

6
将Android SDK工具从22.0.1更新到22.0.4(最新版本)
我想将我的Android SDK工具从22.0.1更新到22.0.4 我还安装了ADT,但无法将SDK工具更新为22.0.4 我面临以下问题: Download interrupted: Read timed out issue. 以下是更新SDK时的屏幕截图: 谁能帮我 : 提前致谢。 编辑:我找到了上述问题的解决方案,并已添加解决方案作为答案。如果任何人有相同的问题,他/她也可以按照说明解决此问题。
87 android  sdk  adt 

2
方向变化时处理片段的简便方法
public class MainActivity extends Activity implements MainMenuFragment.OnMainMenuItemSelectedListener { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); FragmentManager fragmentManager = getFragmentManager(); FragmentTransaction fragmentTransaction = fragmentManager .beginTransaction(); // add menu fragment MainMenuFragment myFragment = new MainMenuFragment(); fragmentTransaction.add(R.id.menu_fragment, myFragment); //add content DetailPart1 content1= new DetailPart1 (); fragmentTransaction.add(R.id.content_fragment, content1); fragmentTransaction.commit(); } public void onMainMenuSelected(String …

10
Android应用内存不足的问题-尝试了一切,但仍然很茫然
我花了整整4天的时间竭尽所能找出我正在开发的应用程序中的内存泄漏,但是很久以前事情就没有了。 我正在开发的应用具有社交性质,因此请考虑对活动(P)进行配置,并列出带有数据的活动-例如徽章(B)。您可以从个人资料跳到徽章列表,其他个人资料,其他列表等。 因此,假设像这样的流程P1-&gt; B1-&gt; P2-&gt; B2-&gt; P3-&gt; B3,等等。为了保持一致,我正在加载同一用户的配置文件和徽章,因此每个P页面都是相同的,因此每个B页。 问题的基本要点是:在导航了一段时间之后,根据每个页面的大小,我在随机的位置(位图,字符串等)收到了内存不足的异常,这似乎并不一致。 在尽一切可能找出导致内存不足的原因之后,我什么都没想到。我不明白的是,如果Android在加载时内存不足而崩溃,为什么Android不会杀死P1,B1等。如果我曾经通过onCreate()和onRestoreInstanceState()返回到这些早期活动,我希望它们会死掉并复活。 更不用说了-即使我执行P1-&gt; B1-&gt;后退-&gt; B1-&gt;后退-&gt; B1,我仍然会崩溃。这表明存在某种内存泄漏,但是即使在转储hprof并使用MAT和JProfiler之后,我也无法查明。 我已禁止从网络上加载图像(并增加了加载的测试数据来弥补它并使测试公平),并确保图像缓存使用SoftReferences。Android实际上试图释放它拥有的一些SoftReference,但要在它崩溃到内存不足之前。 徽章页面从Web获取数据,将其从BaseAdapter加载到EntityData数组中,然后将其提供给ListView(我实际上是在使用CommonsWare的出色MergeAdapter,但是在此Badge活动中,无论如何实际上只有1个适配器,但是我想以任何一种方式提及这个事实)。 我遍历了代码,却找不到任何可能泄漏的内容。我清除并清空了所有可以找到的内容,甚至将System.gc()左右移走,但应用程序仍然崩溃。 我仍然不明白为什么堆栈中不活动的活动不会获得收益,我真的很想弄清楚这一点。 在这一点上,我正在寻找任何提示,建议,解决方案……任何可能有用的方法。 谢谢。

10
如何在Spinner上添加浮动标签
在使用Android设计支持库TextInputLayout在EditText组件上方放置一个浮动标签之后,我想知道是否有一种方法可以向该Spinner组件添加一个浮动标签(不一定使用设计库)。 这样,我的意思是TextView在上方放置一个Spinner(显然没有像那样的动画TextInputLayout),但是我希望文本大小,字体和颜色与TextInputLayout浮动标签的大小匹配。 例如,它看起来像这样(请参阅Spinners上方的标签): 正如我之前提到的,我的主要目的是Spinner在TextInputLayout-上方有一个标签,就像-一样,因此文本大小,字体,颜色以及标签与组件之间的距离是相同的。 在有关浮动标签文本字段的Google设计页面上,有一张图表显示了标签相对于组件的尺寸,但没有指示标签文本的颜色或大小: 因此,总而言之,我在问: -如果有一个特殊的组件可以实现我所要问的内容或可以使用的自定义视图,它将是什么,以及如何使用它。 -如果不是,什么是浮动标签文字大小,颜色和字体,这样我就可以把一个TextView上面我Spinner用上面的图片中显示的布局尺寸。 编辑: 根据Google设计指南中的文本字段,它具有以下浮动标签: 提示和输入字体:Roboto Regular 16sp 标签字体:Roboto Regular 12sp 瓦片高度:72dp 文本顶部和底部填充:16dp 文本字段分隔符填充:8dp 以及上面显示的图像。 因此,浮动标签字体为:Roboto Regular 12sp。因此,您可以使用aTextView来显示Spinner标签,因为我不知道View可以使用的任何custom或特殊组件。 但是,在尝试之后,它看起来不如图像中所示的示例好。一个自定义视图可能是为了这个美好的,因为它可能看起来更好,但上面的解决方案是实现东西接近我本来想的只是一种方法。


4
对Android Gradle中的testCompile和androidTestCompile感到困惑
我是测试世界的新手,甚至还不是Android测试世界的新手。在对Robolectric进行研究以帮助进行android测试时,最让我感到困惑的是。有时在网络上,我看到人们在使用testCompile在引用Robolectric时在gradle构建脚本的依赖中关键字而其他人使用时androidTestCompile。当然两者都无效吗? 有人可以解释两者之间的区别吗?使用Robolectric时应该使用哪一个?


25
膨胀类android.support.design.widget.NavigationView时出错
我遵循了支持设计库中新组件NavigationView的教程,无法通过以下错误消息获取信息: Error inflating class android.support.design.widget.NavigationView 我在这里尝试了所有解决方法 使用任何Android设计支持库元素时发生错误 但是错误消息仍然存在。 XML文件 &lt;android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/drawer_layout" android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true" &gt; &lt;RelativeLayout android:layout_width="match_parent" android:layout_height="match_parent" &gt; &lt;include layout="@layout/toolbar" android:id="@+id/mainToolBar" /&gt; &lt;fragment android:name="com.ais.cherry.fragment.LoginFragment" android:id="@+id/loginFragment" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_below="@id/mainToolBar" /&gt; &lt;fragment android:name="com.ais.cherry.fragment.WaterFallFragment" android:id="@+id/mainFragment" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_below="@id/mainToolBar" /&gt; &lt;fragment android:name="com.ais.cherry.fragment.SearchFragment" android:id="@+id/searchFragment" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_below="@id/mainToolBar" /&gt; &lt;fragment android:name="com.ais.cherry.fragment.ChatMainFragment" android:id="@+id/chatMainFragment" android:layout_width="match_parent" …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.