【发布时间】:2017-06-08 06:29:48
【问题描述】:
我想在 OnCreateMethod 中添加 Admob 广告的 java 代码。但是我的 java 类扩展了 ListActivity。 请告诉我如何在这个类中添加 admob 广告。
如果我在扩展 ListActivity 的类中添加代码,它会使应用程序崩溃。
请给我一个解决方案。
提前致谢。
我的 MainActivity java 代码
public class MainActivity extends ListActivity
{
List headlines;
List links;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
new MyAsyncTask().execute();
}
class MyAsyncTask extends AsyncTask<Object,Void,ArrayAdapter>
{
@Override
protected ArrayAdapter doInBackground(Object[] params)
{
headlines = new ArrayList();
links = new ArrayList();
try
{
URL url = new URL("http://feelthesport.blogspot.com/feeds/posts/default?alt=rss");
XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
factory.setNamespaceAware(false);
XmlPullParser xpp = factory.newPullParser();
// We will get the XML from an input stream
xpp.setInput(getInputStream(url), "UTF_8");
boolean insideItem = false;
// Returns the type of current event: START_TAG, END_TAG, etc..
int eventType = xpp.getEventType();
while (eventType != XmlPullParser.END_DOCUMENT)
{
if (eventType == XmlPullParser.START_TAG)
{
if (xpp.getName().equalsIgnoreCase("item"))
{
insideItem = true;
}
else if (xpp.getName().equalsIgnoreCase("title"))
{
if (insideItem)
headlines.add(xpp.nextText()); //extract the headline
}
else if (xpp.getName().equalsIgnoreCase("link"))
{
if (insideItem)
links.add(xpp.nextText()); //extract the link of article
}
}
else if(eventType==XmlPullParser.END_TAG && xpp.getName().equalsIgnoreCase("item"))
{
insideItem=false;
}
eventType = xpp.next(); //move to next element
}
}
catch (MalformedURLException e)
{
e.printStackTrace();
}
catch (XmlPullParserException e)
{
e.printStackTrace();
}
catch (IOException e)
{
e.printStackTrace();
}
return null;
}
protected void onPostExecute(ArrayAdapter adapter)
{
adapter = new ArrayAdapter(MainActivity.this, android.R.layout.simple_list_item_1, headlines);
setListAdapter(adapter);
}
}
@Override
protected void onListItemClick(ListView l, View v, int position, long id)
{
Uri uri = Uri.parse((links.get(position)).toString());
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
startActivity(intent);
}
public InputStream getInputStream(URL url)
{
try
{
return url.openConnection().getInputStream();
}
catch (IOException e)
{
return null;
}
}
}
【问题讨论】:
-
请显示您的代码崩溃的位置以及您收到的错误消息。
-
当我打开我的应用程序时它崩溃了。我在我的 oncreatemethod 中粘贴了代码
-
在应用程序崩溃时,您的调试器是否有堆栈跟踪?你有没有逐行测试你的代码,看看问题出在哪里?
-
只留下崩溃点,如果我删除 admob 代码它不会崩溃,它正在崩溃,因为我在 listactivity 中粘贴 admob 代码。请告诉我如何在 listactivity 中添加 admob。
标签: java android google-admob