- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试编写高音扬声器的代码,但我遇到了编译错误。
我不会忘记将我的 Activity 添加到 list 中。
这是 Activity 代码:
package fr.enstb.tp2;
import java.net.URL;
import java.util.ArrayList;
import org.apache.http.client.HttpClient;
import org.apache.http.client.ResponseHandler;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.BasicResponseHandler;
import org.apache.http.impl.client.DefaultHttpClient;
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
import android.app.Activity;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
public class TweetsActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ArrayList<Tweet> tweets = getTweets("android", 1);
ListView listView = (ListView) findViewById(R.id.ListViewId);
listView.setAdapter(new UserItemAdapter(this, R.layout.tweets_layout, tweets));
}
public class UserItemAdapter extends ArrayAdapter<Tweet> {
private ArrayList<Tweet> tweets;
public UserItemAdapter(Context context, int textViewResourceId, ArrayList<Tweet> tweets) {
super(context, textViewResourceId, tweets);
this.tweets = tweets;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View v = convertView;
if (v == null) {
LayoutInflater vi = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = vi.inflate(R.layout.tweets_layout, null);
}
Tweet tweet = tweets.get(position);
if (tweet != null) {
TextView username = (TextView) v.findViewById(R.id.username);
TextView message = (TextView) v.findViewById(R.id.message);
ImageView image = (ImageView) v.findViewById(R.id.avatar);
if (username != null) {
username.setText(tweet.username);
}
if(message != null) {
message.setText(tweet.message);
}
if(image != null) {
image.setImageBitmap(getBitmap(tweet.image_url));
}
}
return v;
}
}
public Bitmap getBitmap(String bitmapUrl) {
try {
URL url = new URL(bitmapUrl);
return BitmapFactory.decodeStream(url.openConnection() .getInputStream());
}
catch(Exception ex) {return null;}
}
public ArrayList<Tweet> getTweets(String searchTerm, int page) {
String searchUrl = "http://search.twitter.com/search.json?q=@"
+ searchTerm + "&rpp=100&page=" + page;
ArrayList<Tweet> tweets = new ArrayList<Tweet>();
HttpClient client = new DefaultHttpClient();
HttpGet get = new HttpGet(searchUrl);
ResponseHandler<String> responseHandler = new BasicResponseHandler();
String responseBody = null;
try{
responseBody = client.execute(get, responseHandler);
}catch(Exception ex) {
ex.printStackTrace();
}
JSONObject jsonObject = null;
JSONParser parser=new JSONParser();
try {
Object obj = parser.parse(responseBody);
jsonObject=(JSONObject)obj;
}catch(Exception ex){
Log.v("TEST","Exception: " + ex.getMessage());
}
JSONArray arr = null;
try {
Object j = jsonObject.get("results");
arr = (JSONArray)j;
}catch(Exception ex){
Log.v("TEST","Exception: " + ex.getMessage());
}
for(Object t : arr) {
Tweet tweet = new Tweet(
((JSONObject)t).get("from_user").toString(),
((JSONObject)t).get("text").toString(),
((JSONObject)t).get("profile_image_url").toString()
);
tweets.add(tweet);
}
return tweets;
}
public class Tweet {
public String username;
public String message;
public String image_url;
public Tweet(String username, String message, String url) {
this.username = username;
this.message = message;
this.image_url = url;
}
}
}
这是日志跟踪:
: E/AndroidRuntime(884): FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to start activity ComponentInfo{fr.enstb.tp2/fr.enstb.tp2.TweetsActivity}: java.lang.NullPointerException
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1955)
at android.app.ActivityThread.startActivityNow(ActivityThread.java:1796)
at android.app.LocalActivityManager.moveToState(LocalActivityManager.java:135)
at android.app.LocalActivityManager.startActivity(LocalActivityManager.java:347)
at android.widget.TabHost$IntentContentStrategy.getContentView(TabHost.java:682)
at android.widget.TabHost.setCurrentTab(TabHost.java:346)
at android.widget.TabHost$2.onTabSelectionChanged(TabHost.java:150)
at android.widget.TabWidget$TabClickListener.onClick(TabWidget.java:540)
at android.view.View.performClick(View.java:3460)
at android.view.View$PerformClick.run(View.java:13955)
at android.os.Handler.handleCallback(Handler.java:605)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4340)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NullPointerException
at fr.enstb.tp2.TweetsActivity.getTweets(TweetsActivity.java:126)
at fr.enstb.tp2.TweetsActivity.onCreate(TweetsActivity.java:36)
at android.app.Activity.performCreate(Activity.java:4465)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1919)
... 18 more
感谢您的帮助!
最佳答案
根据堆栈跟踪,您在 getTweets() 中的 arr
变量必须为 null,因为您在这一行得到 NullPointerException:for(Object t : arr)
使用调试器单步调试代码,看看您从服务调用中得到了什么。
关于android - java.lang.RuntimeException : Unable to start activity ComponentInfo 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8346228/
我正在尝试为 Android 设置 JUnit 测试并且我有 list 等设置但我不断收到此错误: java.lang.RuntimeException: Unable to instantiate
我的问题是当我运行应用程序并单击注册按钮时突然显示弹出窗口:“强制关闭” 这是我的代码: Main.java package com.example.server; import java.util.
当我运行我的 Activity registeration.java 或 login.java 时,它将 Intent 中的用户名传递给名为 profile.java 的新 Activity > 关于
这个问题已经有答案了: java.lang.RuntimeException: Unable to instantiate activity ComponentInfo (47 个回答) 已关闭 8
以下 Android Studio 1.5 MainActivity.java 代码会在标题中生成错误,并带有 You need to use a Theme.AppCompat theme publ
尝试从文本消息 URL 在 Android 上启动 Xamarin 表单应用程序时,我收到此错误。我一直在遵循 THIS 中提到的步骤文章。 这里是我 AppManifest.xml 中的应用程序节点
我在我的应用程序中创建了一个 map View ,但出现了这个错误: 09-07 21:24:08.886: INFO/ActivityManager(243): Starting: Intent {
我的应用程序运行正常,但当应用程序进入后台时,它在应该恢复时崩溃了。正如您在源代码中看到的那样,我记录了 onStart、onStop 等事件。 在我的日志中,当我启动应用程序时,我可以看到 onSt
我正在处理从其他人那里导入的 Android 项目。我已经对所有依赖项进行排序,项目中没有错误,但是当我尝试启动它时,我得到: 04-08 16:49:41.761: E/AndroidRuntime
在我的应用程序中,当我选择按钮时,它会将我指向 mapView 类,它会显示用户的当前位置。 但是,它抛出 java.lang.RuntimeException: Unable to instanti
我在开发 Android 应用程序时遇到问题。我首先对我的错误进行了研究,然后发现还有其他人和我有同样的问题。我阅读了所有评论并尝试了所有方法,但我仍然遇到同样的错误。 这里是我的错误 05-29 1
我有一个 Google 云消息的接收器,它已在 AndroidManifest.xml 中注册:
我正在开发一个应用程序,最低版本为 Froyo,目标版本为 Gingerbread。因此, list 显示: 我有一个模拟器和一个带有 Gingerbread 的 Nexus One,应用程序部署和
我正在尝试将其作为我的主要 Activity 以打开另一个 Activity (ListAtivity)。但是,当我单击按钮时,应用程序崩溃并出现以下异常: 01-26 17:12:58.341: E
我正在制作一个可以搜索表“员工”并返回结果的应用程序。我正在使用 searchdialog 进行搜索。但是我在搜索对话框上按下搜索按钮时得到了 FC。请帮帮我。 代码: public class Si
我是 Android 开发的新手,所以我确信这会变成我错过的愚蠢的事情,但我有两个 Activity :StartScreen 和 Map。 StartScreen 只是简单的文本和一个按钮,然后应该
我修改了来自 http://www.elektor.com/magazines/2012/march/android-switch-interface.2084156.lynkx 的示例蓝牙通信应用程
我创建了一个应用程序,该应用程序应该从我的Thingspeak channel 接收数据。 首先,我只是使用了webview小部件,但我想走得更远,并使用Thingspeak Java api自己处理
可以找到 list 文件here . 可以找到DeviceAdminReceiver类here agent_device_xml 定义如下:
01-05 18:35:42.754: E/AndroidRuntime(5814): java.lang.RuntimeException: 无法实例化 Activity ComponentInfo
我是一名优秀的程序员,十分优秀!