我正在学习如何使用以下自定义视图:
http://developer.android.com/guide/topics/ui/custom-components.html#modifying
描述说:
类初始化与往常一样,首先调用super.此外,这不是默认构造函数,而是参数化构造函数.当EditText从XML布局文件中膨胀时,会使用这些参数创建EditText,因此,我们的构造函数需要同时接受它们并将它们传递给超类构造函数.
有更好的描述吗?我一直试图弄清楚构造函数应该是什么样子,我想出了4种可能的选择(参见帖子末尾的例子).我不确定这4个选择是做什么(或不做什么),为什么要实现它们,或者参数是什么意思.有这些的描述吗?
public MyCustomView()
{
super();
}
public MyCustomView(Context context)
{
super(context);
}
public MyCustomView(Context context, AttributeSet attrs)
{
super(context, attrs);
}
public MyCustomView(Context context, AttributeSet attrs, Map params)
{
super(context, attrs, params);
}
Run Code Online (Sandbox Code Playgroud) 我正在使用Eclipse来了解SampleSyncAdapter示例的工作原理.我不能让我的断点工作.我在多个位置设置了一个断点但没有被击中.例如,AuthenticatorActivity.onCreate()永远不会被调用.谁知道为什么?
谢谢.
我的程序经常崩溃.我无法在LogCat中看到任何内容或在其他地方看到有用的信息,以找出出错的地方.我唯一看到的是某种例外.这是不可接受的,使Android编程几乎不可能.我确信必须有一些额外的调试帮助,但经过数周的搜索,什么都没有.
有没有人提示如何在一个简单崩溃的程序中找到一个错误?
一般问题我知道,但没有答案,我将不得不放弃尝试为Android开发应用程序.我不能花几周时间寻找每一个简单的错误.
我正在尝试为我的Android应用创建一个SyncAdapter,以显示来自某个特定频道的YouTube视频.这些视频属于公共领域,因此我不希望用户登录,创建帐户,验证自己,上传数据或使用联系人数据库.我只是希望SyncAdapter定期使用该频道的最新视频元数据更新我的应用程序数据库.我已经构建了一个ContentProvider来访问我的数据库.我确实喜欢这样一个事实,即SyncProvider将处理关闭同步,调度和重试退避机制以进行更新的能力.
我早些时候问过SyncAdapter是不是我的用例的好选择,我被告知它是.我观看了Google I/O视频,阅读了文档,阅读了博客......(参见下面的列表).我一直都无法工作.我得到的最好的方法是让SyncAdapter帐户显示在全局"帐户和同步设置"中,但不起作用.即使这有效,但它还不够理想,因为我更喜欢用户除了从我的应用程序内部看不到帐户.如果没有其他选项,这是可以接受的,只要他们不需要访问它来设置它,因为一切都会默认为每天一次自动同步.
我甚至试图按原样使用SampleSyncAdapter并在验证代码部分中放置断点.没有一个断点被击中,所以我看不到触发调用的内容或包含的数据.我原本以为我至少会得到那么多.
尽管有这样的建议,我开始认为使用SyncAdapter是一个坏主意.我还没有找到一个接近我想要的例子,更不用说教程或完整,有组织和清晰的文档了.这似乎应该是许多应用程序想要做的常见任务.
请在此帖子上添加有关此用例的任何好文档.我什么都找不到.
如果没有这个,我认为建议所有人不要在这个用例中使用SyncAdapters是公平的.我不是在为其他用例说话,所以如果它不像我的那样,请不要继续使用它对你的用例有用.
了解为黄金时段准备的API级别的版本也很有帮助.有关版本号的问题已经发布了很多.我试图保持尽可能低的最多用户.我目前的API目标是7.
这里是我尝试无效的链接列表,其他人可能会发现这些更有帮助:
http://developer.android.com/resources/samples/SampleSyncAdapter/index.html
http://www.google.com/events/io/2010/sessions/developing-RESTful-android-apps.html
http://naked-code.blogspot.com/2011/05/revenge-of-syncadapter-synchronizing.html
http://www.c99.org/2010/01/23/writing-an-android-sync-provider-part-1/
http://www.c99.org/2010/01/23/writing-an-android-sync-provider-part-2/
http://www.finalconcept.com.au/article/view/android-account-manager-step-by-step
http://www.finalconcept.com.au/article/view/android-account-manager-step-by-step-1
http://www.finalconcept.com.au/article/view/android-account-manager-step-by-step-2
我是GAE,JSON,REST和网络上的新手.我有一个非常简单的GWT/GAE数据存储区,我想用它来更新我编写的Android应用程序中的数据.经过一些研究,似乎一个好方法是创建一个RESTful Web服务,我的Android App将通过发送回JSON格式数据的HTTP请求访问.
我一直在寻找一种方法来做到这一点,似乎有很多方法,主要是使用第三方库.有这么多,作为初学者很难明智地选择.此外,我的问题非常简单,这将是学习在GAE上创建RESTful Web服务和JSON的基础知识的好机会.它需要做的就是从URL返回JSON数据 - 没有创建,没有更新,没有删除.
我想一个简单的Java代码示例或教程对于实现我的目标比学习复杂的库更有意义.有没有人知道一个简单的例子或教程,以便向我发送正确的方向?
谢谢.
没有Snark请
==更新:
在来自向导的GreetingServiceImpl的doGet @Override中,我添加了:
// super.doGet(req, resp);
PrintWriter out = resp.getWriter();
out.println("Hello World");
Run Code Online (Sandbox Code Playgroud)
这似乎有效.难道这么简单吗?我可以修改此代码以生成我的JSON输出来代替"Hello World"字符串,我已经完成了吗?
我正在创建一个自定义的Android SyncAdapter,并在SDK示例"SampleSyncAdapter"之后遇到麻烦.- 我正在创造我的相当于xml/syncadapter.xml
.这是我困惑的部分:
android:contentAuthority="com.android.contacts"
android:accountType="com.example.android.samplesync"
Run Code Online (Sandbox Code Playgroud)
AbstractThreadedSyncAdapter的文档指出:
在
android:contentAuthority
和android:accountType
属性指出哪些内容权威,哪些帐户类型此同步适配器提供.
文档是循环的,它没有说明这个名称没有告诉你.我的印象是,两者都将从我公司的名字开始,com.acme.
但从那里我不知道.我怀疑字符串可以是任何东西,只要它们是全局唯一的,以免与可能在同一设备上的任何其他应用程序冲突.我认为这意味着我需要在我的代码中的其他地方使用这些确切的字符串.但是,我想知道,我需要这些字符串?!我试图grep for com.android.contacts
和前面提到的文件是它唯一使用的地方,我可以找到.因此,contentAuthority
通过查看示例无法判断如何使用它.
如果是这样,我可以将它们都放在字符串资源中并在需要时通过资源ID引用它们吗?这些属性究竟是什么以及它们是如何使用的?有没有更好的方法来确定我应该为这些和其他领域的应用程序选择什么值?
我正在尝试查找有关如何更改画布坐标系的信息。我有一些矢量数据,我想使用圆和线之类的东西绘制到画布上,但数据的坐标系与画布坐标系不匹配。
有没有办法将我使用的单位映射到屏幕的单位?
我正在绘制一个没有占据整个显示器的 ImageView。
如果我必须在每次绘图调用之前进行自己的计算,如何找到 ImageView 的宽度和高度?
我尝试的 getWidth() 和 getHeight() 调用似乎返回了整个画布大小,而不是 ImageView 的大小,这没有帮助。
我看到一些矩阵的东西,那对我有用吗?
我尝试使用“public void scale(float sx, float sy)”,但这更像是像素级缩放,而不是通过扩展每个像素的矢量缩放功能。这意味着如果增加尺寸以适应屏幕,线条粗细也会增加。
更新:
经过一些研究,我开始认为没有办法将坐标系更改为其他东西。我需要将所有坐标映射到屏幕的像素坐标,并通过修改每个向量来实现。getWidth() 和 getHeight() 现在似乎对我来说效果更好。我可以说有什么问题,但我怀疑我不能在构造函数中使用这些方法。
我试图从源代码添加一个 Android 库,如接受的答案所示:
我在 build.gradle 文件中遇到错误:
错误:(4, 0) 无法获得类型为 org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler 的对象的未知属性“supportLibVersion”。
这是我的 build.gradle 文件:
apply plugin: 'com.android.library'
dependencies {
compile "com.android.support:support-annotations:${supportLibVersion}"
compile "com.android.support:support-v4:${supportLibVersion}"
compile "com.android.support:design:${supportLibVersion}"
compile rootProject.ext.dep.timber
compile rootProject.ext.dep.okhttp3
compile rootProject.ext.dep.lost
...
Run Code Online (Sandbox Code Playgroud)
我可以看到该库有一个名为 dependencies.gradle 的文件,其中包含以下内容:
ext {
minSdkVersion = 15
targetSdkVersion = 25
compileSdkVersion = 25
buildToolsVersion = "25.0.2"
versionCode = 11
versionName = "5.0.0"
supportLibVersion = "25.2.0"
...
Run Code Online (Sandbox Code Playgroud)
似乎这是定义属性的地方,但我认为在构建过程中没有看到它。dependencies.gradle 比 build.gradle 文件高一级,这可以解释为什么在我导入 Gradle 项目后看不到该属性。可以在以下位置找到原始库源:
解决此问题的最佳方法是什么?
谢谢
米奇
dependencies module android-library android-studio android-gradle-plugin
我刚从Android网站安装了Eclipse,对话框没有标题栏,似乎停靠在Eclipse主窗口的顶部.我找不到移动它们或取回标题栏的方法.我正在使用Gnome 3作为桌面/窗口管理器.
例如,如果我选择搜索| 文件...从主菜单中出现,但没有标题栏.如果我按Alt+ F7,我可以移动整个窗口,但对话框不会相对于窗口移动.
我该如何解决?
谢谢.
我正在尝试安装g ++ 4.9或更高版本,以便在Android上构建mapbox.说明指出我需要g ++ 4.9或更高版本.我找到了以下说明,但它们不起作用.
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install g++-4.9
Run Code Online (Sandbox Code Playgroud)
最后一个命令说:
~ $ sudo apt-get install g++-4.9
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package g++-4.9 is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
E: Package 'g++-4.9' has no installation candidate
Run Code Online (Sandbox Code Playgroud)
我也尝试从Synaptic Package Manager获得以下内容:
g++:
Depends: cpp (>=4:4.9-1ubuntu7) but 4:4.8.2-1ubuntu6 is …
Run Code Online (Sandbox Code Playgroud) 我想创建一个具有度符号的字符串资源.
例如:
<string name="celsius">°C</string>
Run Code Online (Sandbox Code Playgroud)
但这会产生解析错误.
有没有办法做到这一点?
谢谢,
米奇