从最新的ADT版本开始,我注意到布局XML文件上的这个新属性,例如:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
tools:context=".MainActivity" />
Run Code Online (Sandbox Code Playgroud)
什么是"工具:上下文"用于?
它怎么知道写在那里的活动的确切路径?它是否在清单中查看应用程序的包?
它仅限于扩展Context或仅扩展活动的类吗?它可用于ListView项目等吗?
xml android android-context android-layout android-tools-namespace
在Android API 11+中,Google发布了一个名为的新类Fragment.
在视频中,谷歌建议尽可能(link1,link2),我们应该使用片段而不是活动,但他们没有解释确切原因.
片段的目的是什么?它们的一些可能的用途(除了一些可以通过简单的视图/布局轻松实现的UI示例)?
我的问题是片段:
奖金问题:
android android-layout android-fragments android-3.0-honeycomb android-activity
最近谷歌和英特尔发布了一种运行模拟器的新方法,它应该比以前的版本(模拟ARM CPU)好得多.以下是一些关于它的链接:这个和这个.
但是,在安装新组件并按照说明创建新的模拟器配置后,我收到错误,我也看不到任何改进.我已经尝试过API 10和API 15,并启用了GPU并禁用了它们.这些配置都没有帮助.我也在两台不同的计算机上试过它并且没有得到任何提升(并且得到了相同的错误).
似乎在我读过的帖子上,没有人对它有任何问题,所有人都报告了更快的模拟器.
它显示的错误是:
emulator: Failed to open the HAX device!
HAX is not working and emulator runs in emulation mode
emulator: Open HAX device failed
Run Code Online (Sandbox Code Playgroud)
它为什么会发生,有没有办法解决它?有没有其他人得到这些错误,反之亦然?
顺便说一句,我有一个英特尔CPU,如果这可能是一个问题.
编辑:
这是我在BIOS中看到的,所以它应该可用......:

自从新的ADT预览版本(版本21)以来,它们有一个新的lint警告,它告诉我清单文件(在应用程序标记中)的下一件事:
应该明确地将android:allowBackup设置为true或false(默认情况下为true,这可能会对应用程序的数据产生一些安全隐患)
在官方网站上,他们写道:
一些新检查:您必须明确决定您的应用是否允许备份和标签检查.有一个新的命令行标志用于设置库路径.编辑时增量lint分析的许多改进.
这警告是什么?什么是备份功能,以及如何使用它?
另外,为什么警告告诉我它有安全隐患?禁用此功能有哪些缺点和优点?
清单有两种备份概念:
是否允许应用程序参与备份和还原基础结构.如果此属性设置为false,则不会执行应用程序的备份或还原,即使是全系统备份也会导致所有应用程序数据都通过adb保存.此属性的默认值为true.
这被认为是一个安全问题,因为人们可以通过ADB备份您的应用,然后将您应用的私人数据导入他们的PC.
但是,我认为这不是一个问题,因为大多数用户不知道什么是adb,如果他们这样做,他们也会知道如何根设备.ADB功能仅在设备启用了调试功能时才有效,这需要用户启用它.
因此,只有将其设备连接到PC并启用调试功能的用户才会受到影响.如果他们的PC上有使用ADB工具的恶意应用程序,这可能会有问题,因为应用程序可以读取私有存储数据.
我认为Google应该在开发人员类别中添加默认禁用的功能,以允许通过ADB备份和恢复应用.
实现应用程序备份代理的类的名称,BackupAgent的子类.属性值应该是完全限定的类名(例如"com.example.project.MyBackupAgent").但是,作为简写,如果名称的第一个字符是句点(例如,".MyBackupAgent"),则它将附加到元素中指定的包名称.没有默认值.必须指定名称.
这不是安全问题.
android adt compiler-warnings android-lint android-backup-service
很多时候,我们需要将TextView的字体自动调整到给定的边界.
可悲的是,即使有很多线程和帖子(和建议的解决方案)谈论这个问题(例如这里,这里和这里的例子),它们都没有真正运作良好.
这就是为什么,我决定测试每一个,直到找到真正的交易.
我认为来自这样一个textView的要求应该是:
应允许使用任何字体,字体,样式和字符集.
应该处理宽度和高度
没有截断,除非文本由于限制而无法适应,我们已经给它(例如:文本太长,可用大小太小).但是,如果我们愿意,我们可以请求水平/垂直滚动条,仅适用于那些情况.
应该允许多线或单线.如果是多行,请允许最大和最小行.
计算速度不应该慢.使用循环找到最佳尺寸?至少要优化它,不要每次增加1个采样.
在多行的情况下,应该允许更喜欢调整大小或使用更多行,和/或允许使用"\n"字符自己选择行.
我已经尝试了很多样本(包括链接的那些,我已经写过了),而且我也尝试修改它们来处理这些情况,我已经谈过了,但没有一个真正起作用.
我做了一个示例项目,让我可以直观地看到TextView是否正确自动匹配.
目前,我的示例项目只是随机化文本(英文字母加上数字)和textView的大小,并让它保持单行,但即使这样也不适用于我尝试的任何样本.
这是代码(也可在此处获得):
res/layout/activity_main.xml<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent" tools:context=".MainActivity">
<Button android:id="@+id/button1" android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true" android:text="Button" />
<FrameLayout android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_above="@+id/button1"
android:layout_alignParentLeft="true" android:background="#ffff0000"
android:layout_alignParentRight="true" android:id="@+id/container"
android:layout_alignParentTop="true" />
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
src/.../MainActivity.javapublic class MainActivity extends Activity
{
private final Random _random =new Random();
private static final String ALLOWED_CHARACTERS ="qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM1234567890";
@Override
protected void onCreate(final Bundle savedInstanceState)
{
super.onCreate(savedInstanceState); …Run Code Online (Sandbox Code Playgroud) 我最近遇到了这个应用程序购买应用程序,它以某种方式能够检索我在使用我的谷歌帐户登录后在谷歌播放中支付的应用程序.
我正试图找出它是如何完成的,因为我想构建一个类似的应用程序,但对于下载的免费应用程序.
但是,即使经过整个API列表,我也无法找到用于检索该信息的OAuth API Scope .
编辑:我正在对这个问题提出新的赏金,正如我在这里提出的一个类似的问题所提出的那样,因为在这里和那里我没有看到关于如何做到的真正答案,以及可以做些什么用它.
我想将问题细化为多个部分:
什么是可用于获取已购买应用程序信息的API?我在哪里可以阅读它?请展示如何操作的完整实用示例.
可以做得更多吗?也许执行搜索?也许显示已安装的免费应用程序?也许是他们安装和卸载的时间?那些应用程序的类别?
使用此API有什么特殊要求吗?
编辑:我正在为此付出最大的赏金,因为无论我阅读和尝试了多少,我仍然无法制作可以从用户下载的Play商店查询应用程序的POC(名称,包装)名称,安装和/或删除日期,图标URL,价格...),包括付费和免费应用程序.
如果有人找到了工作样本,请展示它是如何完成的,并展示您是如何找到它的(文档或任何导致您获得解决方案的内容).我无法在任何地方找到它,而这里目前的解决方案对我来说太模糊了.
在Android 4.4(KitKat)上,谷歌已经限制了对SD卡的访问.
从Android Lollipop(5.0)开始,开发人员可以使用新的API,要求用户确认允许访问特定文件夹,如此Google-Groups帖子所述.
该帖子指导您访问两个网站:
这看起来像是一个内部示例(可能稍后会在API演示中显示),但很难理解发生了什么.
这是新API的官方文档,但它没有详细说明如何使用它.
这是它告诉你的:
如果您确实需要完全访问整个文档子树,请首先启动ACTION_OPEN_DOCUMENT_TREE以允许用户选择目录.然后将生成的getData()传递给fromTreeUri(Context,Uri)以开始使用用户选择的树.
在导航DocumentFile实例树时,您始终可以使用getUri()来获取表示该对象的基础文档的Uri,以便与openInputStream(Uri)等一起使用.
要在运行KITKAT或更早版本的设备上简化代码,可以使用fromFile(File)来模拟DocumentsProvider的行为.
我对新API有几个问题:
在Android的拨号器应用程序上,当您开始搜索某些内容,然后单击EditText左侧的箭头按钮时,会对其产生圆形连锁效果:
我也尝试过它,但我有一个矩形的:
<ImageButton
android:id="@+id/navButton"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_gravity="center_vertical"
android:layout_marginLeft="8dp"
android:background="?android:attr/selectableItemBackground"
android:src="@drawable/search_ic_back_arrow"/>
Run Code Online (Sandbox Code Playgroud)
单击时如何使按钮具有圆形波纹效果?我是否必须创建一个新的drawable,或者是否有内置的方式?
Android开发者控制台有3个标签用于发布应用程序的apk文件:alpha,beta和production,如下所示:

我记得在谷歌IO讲座之一,在进行100%规模发布之前检查你的应用程序有多好的一种很酷的方法是,只允许一部分用户先下载应用程序.我认为它被称为"分阶段发布",因为如果有太多问题要发布给所有人,你可以推出发布.
它们之间究竟有什么区别,特别是在Alpha和Beta之间?
只有生产阶段可供游戏商店的人使用,对吗?
哪一个允许仅发布给特定的人/百分比,你以哪种方式发布?
哪个阶段允许应用内结算,至少用于测试?我不明白为什么我不能在上传应用程序之前测试它.
在百分比方法中,如果我使用相同的方式发布新的应用程序版本,它是否会首先更新为有幸安装以前版本的人?
我被指派制作一个与Google地图显示找到结果的底页的行为类似的用户界面.
它有三个不同的阶段:
以下是我在Google地图上讨论的内容:
事实是,底页不是设计库的一部分(尽管这是请求的,这里).
不仅如此,UI似乎相当复杂,需要在多个阶段处理工具栏.
我已经找到了底部片(一个很好的(足够的)库在这里),并添加内容到它的碎片样本,有大致相同的看法材料设计的样品,如图(如这里),有一个CollapsingToolbarLayout会照顾阶段2 + 3.
在我正在制作的应用程序中,我还必须在滚动时移动一个图标,但我认为如果我成功完成其余部分,这应该很容易.这是代码:
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout
android:id="@+id/main_content"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.design.widget.AppBarLayout
android:id="@+id/appbar"
android:layout_width="match_parent"
android:layout_height="@dimen/detail_backdrop_height"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
<android.support.design.widget.CollapsingToolbarLayout
android:id="@+id/collapsing_toolbar"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:contentScrim="?attr/colorPrimary"
app:expandedTitleMarginEnd="64dp"
app:expandedTitleMarginStart="48dp"
app:layout_scrollFlags="scroll|exitUntilCollapsed|snap">
<ImageView
android:id="@+id/backdrop"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="centerCrop"
app:layout_collapseMode="parallax"/>
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
app:layout_collapseMode="pin"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/>
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
<android.support.v4.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingTop="24dp">
<android.support.v7.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="@dimen/card_margin">
<LinearLayout
style="@style/Widget.CardContent"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Info"
android:textAppearance="@style/TextAppearance.AppCompat.Title"/> …Run Code Online (Sandbox Code Playgroud) android material-design android-design-library android-coordinatorlayout android-collapsingtoolbarlayout
android ×10
adt ×1
android-collapsingtoolbarlayout ×1
android-lint ×1
beta-testing ×1
button ×1
documentfile ×1
font-size ×1
google-oauth ×1
google-play ×1
intel ×1
layoutparams ×1
publishing ×1
sdk ×1
textview ×1
xml ×1