我需要一个弹出对话框,当我从不同的线程收到一条消息时,但是对话框应该不依赖于Activity,即它应该在屏幕焦点所在的位置显示对话框.
可以吗?因为每个Activity都会处理对话框,所以我想到了使用服务,但是又添加了一个线程,我想避免这种情况.
还有其他选择吗?
我正在创建一个录像机,并希望创建视频播放器来预览录制的视频.修改此页面中的代码我通过以下方式创建了一个MediaPreview类:
public class MediaPreview extends Activity implements OnErrorListener,
OnBufferingUpdateListener,
OnCompletionListener, OnPreparedListener, SurfaceHolder.Callback{
private static final String TAG = "MediaPreview";
private MediaPlayer mp;
private SurfaceView mPreview;
private SurfaceHolder holder;
private Button btnPlay;
private Button btnPause;
private Button btnReset;
private Button btnStop;
private String mPath;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.media_preview);
mPreview = (SurfaceView)findViewById(R.id.mPreview);
btnPlay = (Button)findViewById(R.id.btnPlay);
btnPause = (Button)findViewById(R.id.btnPause);
btnReset = (Button)findViewById(R.id.btnReset);
btnStop = (Button)findViewById(R.id.btnStop);
getPathFromParentDialog();
btnPlay.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
playVideo();
}
}); …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用位置信息测试我的应用程序.您知道仿真器控件具有从KML文件加载的能力.(Eclipse - > DDMS - >模拟器控制 - >位置控制 - > KML - >加载KML ...)我已经使用Google地球应用程序及其"添加路径"准备了KML文件.然后通过.kml扩展名保存它并将其加载到Eclipse上.Eclipse没有加载此KML文件.
如何为Android Emulator Control准备KML文件?
我开始为Google Android开发应用程序,并且在很大程度上依赖于可以通过json或xml以安静的方式提供数据的Web API.我现在必须决定选择哪个库.
我看到谷歌在API中包含org.json类但尚未测试它们.
你的经历如何?我应该使用哪些库/ API?为什么?
我在下面的代码中将ListView项值访问为字符串并在alert中显示它?
ListView shot = getListView();
shot.setOnItemClickListener(this);
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,long arg3) {
String S = arg1.getContext().toString();
AlertDialog.Builder alertbox = new AlertDialog.Builder(this);
// set the message to display
alertbox.setMessage(S).show();
}
Run Code Online (Sandbox Code Playgroud) 这是我的情况:我正在构建一个Android游戏,我的游戏活动由一个自定义的SurfaceView组成,它有一个游戏逻辑和渲染的线程.该架构类似于Google网站上的LunarLander演示.
当活动开始时,它会创建surfaceView并调用此方法:
@Override
public void surfaceCreated(SurfaceHolder holder)
{
renderThread.start();
}
Run Code Online (Sandbox Code Playgroud)
当我按下主页按钮退出游戏时,会调用onPause()方法,该方法调用surfaceDestroyed().在surfaceDestroyed中,我通过调用来停止游戏Thread:
@Override
public void surfaceDestroyed(SurfaceHolder holder)
{
synchronized(holder)
{
renderThread.stop();
}
}
Run Code Online (Sandbox Code Playgroud)
该应用程序的背景很好.然后,当我通过按下图标重新启动应用程序时,我在日志中收到"Thread already started"消息以及屏幕上的"强制关闭"弹出窗口.当活动在渲染线程上调用start()时进入"surfaceCreated"方法时,会出现此消息.
现在我已经研究了几个小时,无法弄清楚为什么会这样.我相信当我关闭应用程序时我的线程已经停止,所以我不明白为什么它说它已经开始了.
我有一个特定的drawable,我在我的应用程序中用作背景.它不是纯色.
现在我想为这个drawable添加圆角.
我只发现圆角可用渐变色或纯色作为背景但不是另一种可绘制的形状.
是否有另一种简单的方法可以将圆角添加到drawable中?
我需要探索我的项目在Android上使用Web服务.我知道没有XML-RPC Web服务的官方库.
但是有REST XML,我需要测试它.
我想通过HTTP GET在我的网页上阅读XML(我必须通过用户名和密码).
要么
假设,我按照此链接,然后我在哪里通过用户名和密码?
任何人都可以帮我这个.
我想为Android手机用户提供推送通知服务,Android推送通知服务是否有推送通知服务?
我无法找到Retrofit默认行为的好解释.
如果Okhttp在类路径上,它将自动使用.但据我所知,默认的HttpResponseCache为null.
我是否需要使用Retrofit和Okhttp显式启用缓存?