我正在从基本的 google 资源文件夹开发 RSS Feeds 应用程序。 现在,我将按照示例中的建议显示所有三个内容。
1.联系人。 2.照片。 3.RSS 订阅
这是链接:
我按照我的要求很好地管理了代码。只更改了包和项目名称。 但它显示 fatal error :
LOGCAT:
04-09 17:40:02.894: E/AndroidRuntime(770): FATAL EXCEPTION: main
04-09 17:40:02.894: E/AndroidRuntime(770): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.satyamdswt.agreader/com.satyamdswt.agreader.ContactsListActivity}: java.lang.IllegalArgumentException: The layout specified in contacts does not exist
04-09 17:40:02.894: E/AndroidRuntime(770): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647)
04-09 17:40:02.894: E/AndroidRuntime(770): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
04-09 17:40:02.894: E/AndroidRuntime(770): at android.app.ActivityThread.access$1500(ActivityThread.java:117)
04-09 17:40:02.894: E/AndroidRuntime(770): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
04-09 17:40:02.894: E/AndroidRuntime(770): at android.os.Handler.dispatchMessage(Handler.java:99)
04-09 17:40:02.894: E/AndroidRuntime(770): at android.os.Looper.loop(Looper.java:123)
04-09 17:40:02.894: E/AndroidRuntime(770): at android.app.ActivityThread.main(ActivityThread.java:3683)
04-09 17:40:02.894: E/AndroidRuntime(770): at java.lang.reflect.Method.invokeNative(Native Method)
04-09 17:40:02.894: E/AndroidRuntime(770): at java.lang.reflect.Method.invoke(Method.java:507)
04-09 17:40:02.894: E/AndroidRuntime(770): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
04-09 17:40:02.894: E/AndroidRuntime(770): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
04-09 17:40:02.894: E/AndroidRuntime(770): at dalvik.system.NativeStart.main(Native Method)
04-09 17:40:02.894: E/AndroidRuntime(770): Caused by: java.lang.IllegalArgumentException: The layout specified in contacts does not exist
04-09 17:40:02.894: E/AndroidRuntime(770): at com.satyamdswt.agreader.Adapters$XmlCursorAdapterParser.parse(Adapters.java:219)
04-09 17:40:02.894: E/AndroidRuntime(770): at com.satyamdswt.agreader.Adapters.createCursorAdapter(Adapters.java:168)
04-09 17:40:02.894: E/AndroidRuntime(770): at com.satyamdswt.agreader.Adapters.createAdapterFromXml(Adapters.java:151)
04-09 17:40:02.894: E/AndroidRuntime(770): at com.satyamdswt.agreader.Adapters.loadAdapter(Adapters.java:105)
04-09 17:40:02.894: E/AndroidRuntime(770): at com.satyamdswt.agreader.Adapters.loadAdapter(Adapters.java:92)
04-09 17:40:02.894: E/AndroidRuntime(770): at com.satyamdswt.agreader.ContactsListActivity.onCreate(ContactsListActivity.java:12)
04-09 17:40:02.894: E/AndroidRuntime(770): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
04-09 17:40:02.894: E/AndroidRuntime(770): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
04-09 17:40:02.894: E/AndroidRuntime(770): ... 11 more
在 LogCat 中,您会看到:
com.satyamdswt.agreader/com.satyamdswt.agreader.ContactsListActivity
我不知道为什么会发生两次。
有关更多信息,我在这里显示我的 Manifest.xml: list .xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.satyamdswt.agreader"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="10" />
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.READ_CONTACTS"/>
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:name=".ContactsListActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="PhotosListActivity"
android:label="@string/photos_list_activity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".AGRssReaderActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
请指导我错误在哪里。
ContactListActivity.java
public class ContactsListActivity extends ListActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.contacts_list);
setListAdapter(Adapters.loadAdapter(this,R.xml.contacts ));
}
}
已编辑 联系人.xml
<?xml version="1.0" encoding="utf-8"?>
<cursor-adapter xmlns:android="com.satyamdswt.agreader"
xmlns:app="http://schemas.android.com/apk/res/com.satyamdswt.agreader"
android:layout_width="@layout/contact_item"
app:selection="has_phone_number = 1 "
app:uri="content://com.satyamdswt.contacts/contacts" >
<bind
app:from="display_name"
app:to="@id/name"
app:as="string"/>
<bind
app:as="drawable"
app:from="starred"
app:to="@id/star" >
<map
app:fromValue="0"
app:toValue="@android:drawable/star_big_off" />
<map
app:fromValue="1"
app:toValue="@android:drawable/star_big_on" />
</bind>
<bind
app:as="com.satyamdswt.agreader.ContactPhotoBinder"
app:from="_id"
app:to="@id/name" />
</cursor-adapter>
最佳答案
我已经重现了您的错误。问题出在你的res/xml/contacts.xml文件
改变这一行:
xmlns:app="com.satyamdswt.agreader"
到这一行:
xmlns:app="http://schemas.android.com/apk/res/com.satyamdswt.agreader"
这是您应用的 XML 命名空间的正确格式:http://schemas.android.com/apk/res/package_name
更新:您不应更改 <cursor-adapter> 中的其他参数标签。正确的形式:
<cursor-adapter xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res/com.satyamdswt.agreader"
app:uri="content://com.android.contacts/contacts"
app:selection="has_phone_number=1"
app:layout="@layout/contact_item">
关于android - Xmlapter 示例不工作。包含(联系人阅读器、Rss 提要、照片显示),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10073097/
我在从html页面生成PDF时遇到问题。我正在使用PDFkit。在安装它的过程中,我注意到我需要wkhtmltopdf。所以我也安装了它。我做了PDFkit的文档所说的一切......现在我在尝试加载PDF时遇到了这个错误。这里是错误:commandfailed:"/usr/local/bin/wkhtmltopdf""--margin-right""0.75in""--page-size""Letter""--margin-top""0.75in""--margin-bottom""0.75in""--encoding""UTF-8""--margin-left""0.75in""-
我在我的项目目录中完成了compasscreate.和compassinitrails。几个问题:我已将我的.sass文件放在public/stylesheets中。这是放置它们的正确位置吗?当我运行compasswatch时,它不会自动编译这些.sass文件。我必须手动指定文件:compasswatchpublic/stylesheets/myfile.sass等。如何让它自动运行?文件ie.css、print.css和screen.css已放在stylesheets/compiled。如何在编译后不让它们重新出现的情况下删除它们?我自己编译的.sass文件编译成compiled/t
我花了三天的时间用头撞墙,试图弄清楚为什么简单的“rake”不能通过我的规范文件。如果您遇到这种情况:任何文件夹路径中都不要有空格!。严重地。事实上,从现在开始,您命名的任何内容都没有空格。这是我的控制台输出:(在/Users/*****/Desktop/LearningRuby/learn_ruby)$rake/Users/*******/Desktop/LearningRuby/learn_ruby/00_hello/hello_spec.rb:116:in`require':cannotloadsuchfile--hello(LoadError) 最佳
关闭。这个问题需要detailsorclarity.它目前不接受答案。想改进这个问题吗?通过editingthispost添加细节并澄清问题.关闭8年前。Improvethisquestion在首页我有:汽车:VolvoSaabMercedesAudistatic_pages_spec.rb中的测试代码:it"shouldhavetherightselect"dovisithome_pathit{shouldhave_select('cars',:options=>['volvo','saab','mercedes','audi'])}end响应是rspec./spec/request
在Rails4.0.2中,我使用s3_direct_upload和aws-sdkgems直接为s3存储桶上传文件。在开发环境中它工作正常,但在生产环境中它会抛出如下错误,ActionView::Template::Error(noimplicitconversionofnilintoString)在View中,create_cv_url,:id=>"s3_uploader",:key=>"cv_uploads/{unique_id}/${filename}",:key_starts_with=>"cv_uploads/",:callback_param=>"cv[direct_uplo
使用Ruby1.9.2运行IDE提示说需要gemruby-debug-base19x并提供安装它。但是,在尝试安装它时会显示消息Failedtoinstallgems.Followinggemswerenotinstalled:C:/ProgramFiles(x86)/JetBrains/RubyMine3.2.4/rb/gems/ruby-debug-base19x-0.11.30.pre2.gem:Errorinstallingruby-debug-base19x-0.11.30.pre2.gem:The'linecache19'nativegemrequiresinstall
我知道全局变量$!包含最新的异常对象,但我对下面的语法感到困惑。谁能帮助我理解以下语法?rescue$! 最佳答案 此构造可防止异常停止您的程序并使堆栈跟踪冒泡。它还会将该异常作为值返回,这很有用。a=get_me_datarescue$!在此行之后,a将保存请求的数据或异常。然后您可以分析该异常并采取相应措施。defget_me_dataraise'Nodataforyou'enda=get_me_datarescue$!puts"Executioncarrieson"pa#>>Executioncarrieson#>>#更现实的
//1.验证返回状态码是否是200pm.test("Statuscodeis200",function(){pm.response.to.have.status(200);});//2.验证返回body内是否含有某个值pm.test("Bodymatchesstring",function(){pm.expect(pm.response.text()).to.include("string_you_want_to_search");});//3.验证某个返回值是否是100pm.test("Yourtestname",function(){varjsonData=pm.response.json
最近因为项目需要,需要将Android手机系统自带的某个系统软件反编译并更改里面某个资源,并重新打包,签名生成新的自定义的apk,下面我来介绍一下我的实现过程。APK修改,分为以下几步:反编译解包,修改,重打包,修改签名等步骤。安卓apk修改准备工作1.系统配置好JavaJDK环境变量2.需要root权限的手机(针对系统自带apk,其他软件免root)3.Auto-Sign签名工具4.apktool工具安卓apk修改开始反编译本文拿Android系统里面的Settings.apk做demo,具体如何将apk获取出来在此就不过多介绍了,直接进入主题:按键win+R输入cmd,打开命令窗口,并将路
我在我正在处理的一些代码中发现了这一点。它旨在解决从磁盘读取key文件的要求。在生产环境中,key文件的内容位于环境变量中。旧代码:key=File.read('path/to/key.pem')新代码:key=File.read('|echo$KEY_VARIABLE')这是如何工作的? 最佳答案 来自IOdocs:Astringstartingwith“|”indicatesasubprocess.Theremainderofthestringfollowingthe“|”isinvokedasaprocesswithappro