小编Sky*_*net的帖子

Handler,Runnable和Threads有什么不同?

Handler,Runnable和Threads有什么区别?

当我使用android时,我需要在后台运行一些东西.我使用Threads来运行它.通常我会编写一个扩展Thread的类并实现run方法.

我还看到了一些示例,其中implments可运行并传递给可运行到Threads中.

不过我还是很困惑.有人能给我一个明确的解释吗?

  1. 如果可以在Thread的run方法中编写后台代码,那么Runnable有什么意义呢?
  2. Handler如何在内部线程中使用,为什么我们需要使用它.
  3. Android有另外一个调用runOnUiThread的东西,我们如何使用它?我知道它用于更新UI.

java multithreading android thread-safety android-asynctask

30
推荐指数
3
解决办法
3万
查看次数

AsyncTaskLoader基本示例.(机器人)

我在我的应用程序中使用Loader,并根据我使用此Loader在COntacts上执行的查询得到的结果,我执行一些计算并将它们存储回Sqlite DB中.我希望这个操作是异步的,但我在使用Async任务之间感到困惑,因为我要返回很多不同的数据类型,或者我应该使用简单的处理程序或AsyncTaskLoader,我希望它很简单,因为我是新手装载机.我试图搜索AsyncTaskLoader的例子,但它似乎是火箭科学,在我的场景的上下文中的三个中的任何一个的基本和简单的功能示例将是非常有帮助的.

android android-asynctask android-handler

22
推荐指数
4
解决办法
5万
查看次数

相机意图不适用于三星Galaxy S3

我有一个活动,我给用户一个选项来点击相机中的图像,然后我将这个图像存储在一个字节数组和数据库中.但是我的代码似乎不适用于三星Galaxy S3下面是代码:

相机调用意图:

if (i == 0) {
    Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); 
    startActivityForResult(cameraIntent, CAMERA_PIC_REQUEST); 
}
Run Code Online (Sandbox Code Playgroud)

关于相机的活动方法:

protected void onActivityResult(int requestCode, int resultCode, Intent data) {  
    if (requestCode == 1337 && resultCode == RESULT_OK) {
        Bundle extras = data.getExtras();
        if (extras != null) {   
            BitmapFactory.Options options = new BitmapFactory.Options();
            thumbnail = (Bitmap) extras.get("data");
            image(thumbnail);
        } else {
            Toast.makeText(CreateProfile.this, "Picture NOt taken", Toast.LENGTH_LONG).show();
        }

        super.onActivityResult(requestCode, resultCode, data);     
    }
}
Run Code Online (Sandbox Code Playgroud)

我的图像(位图缩略图)功能:

public void image(Bitmap thumbnail) {
    Bitmap photo = thumbnail; 
    ByteArrayOutputStream bos …
Run Code Online (Sandbox Code Playgroud)

android android-camera

17
推荐指数
1
解决办法
1万
查看次数

覆盖android中的后退按钮

我必须播放一个mp3文件,当点击设备上的后退按钮时,歌曲应自动停止.所以我尝试了以下给定的方法.但它没有用.

  public void onCreate(Bundle icicle) {

    super.onCreate(icicle);

    setContentView(R.layout.audioplaying);
        play=(ImageView)findViewById(R.id.play);
        stop=(ImageView)findViewById(R.id.stop);

        songid=(TextView)findViewById(R.id.songid);
        status=(TextView)findViewById(R.id.status);

        String s=Songs.song;

        status.setText("Please Wait....!");
        mp=new MediaPlayer();
        try{
        mp.setDataSource(s);
        mp.prepare();
        }
        catch(Exception ex){
            Log.e("Exception",ex.getMessage());
        }
        Log.e("Status","Song is going to Start");
        mp.start();
        start=true;
        Log.e("Status","Song was Started");
        status.setText("Playing...!");
        songid.setText(s);
        play.setOnClickListener(this);

        stop.setOnClickListener(this);

    }
@Override
public boolean onKeyDown(int keyCode, KeyEvent event)  {
    if (Integer.parseInt(android.os.Build.VERSION.SDK) < 5
            && keyCode == KeyEvent.KEYCODE_BACK
            && event.getRepeatCount() == 0) {
        Log.d("CDA", "onKeyDown Called");

        onBackPressed();
    }
    return super.onKeyDown(keyCode, event);
}

public void onBackPressed() {
    Log.d("CDA", "onBackPressed Called");
    audioStreamer.stop();
    audioStreamer.getMediaPlayer().stop(); …
Run Code Online (Sandbox Code Playgroud)

android overriding back-button

6
推荐指数
2
解决办法
2万
查看次数

密钥库格式无效

我最近更新了一个应用程序到市场,我生成了密钥库和相应的密码.现在我更新了应用程序,并打算在市场上更新它,我已经在媒体上发布了相同的QR码,而我尝试签署我的新APK我继续收到错误"无效的密钥库格式"的选项"使用现有的密钥库".无法确定我哪里出错了.

这是截图:

android apk android-keystore

6
推荐指数
1
解决办法
9031
查看次数

无效的包文件Android

我在Play市场/商店有一个应用程序.最近我发送了一些更新,一个用户在更新应用程序时响应了无效的包文件错误.谷歌搜索后,我发现这可能是网络或市场应用程序的设备缓存问题.但是,我想确保开发团队的部分内容没有差异.我该如何解决这个问题?是什么导致错误以及如何解决?

android google-play

6
推荐指数
1
解决办法
923
查看次数

如何从相机拍摄的照片制作缩略图?

在我的应用程序中,我使用外部相机应用程序制作照片并将其保存到SD卡,我需要这张照片的方形缩略图.我已设法裁剪在意图中由相机发回的缩略图,但由于我将照片保存到磁盘,意图是空的,我的旧方法使图片方形Bitmap cropped = Bitmap.createBitmap(source, 0, 0, min, min)抛出OutOutMemory异常.

android bitmap android-camera

6
推荐指数
1
解决办法
1631
查看次数

URI/URL和String有什么区别?

这是出于好奇,不需要代码,我尝试使用世界上最好的搜索引擎来获得我的答案,但没有找到任何有价值的东西.

什么是a URI/URL和表示URI/URL的字符串之间的区别?

为什么我们要解析它?

将字符串解析为字符串的URI/URL做法是什么,以便区别对待?

为什么HTTP支持将URL键入为字符串?

java url

6
推荐指数
1
解决办法
4833
查看次数

用户改变Facebook的访问令牌,如何获得访问令牌的回拨?

我使用的是Facebook SDK 4.2.我已经实现了AccessTokenTracker接口,如果更改了令牌,它将正常工作.

我的问题是:如果用户使用publish_permission从Android应用程序发布内容.然后我从我的Facebook帐户中删除该权限.现在在app中,令牌从中返回

AccessToken accessToken = AccessToken.getCurrentAccessToken();
Run Code Online (Sandbox Code Playgroud)

此令牌具有publish_permission,但在Facebook服务器上的权限已更改.从该帐户的Facebook帐户中删除权限后.我再次运行我的应用程序.然后我按下分享按钮,然后我收到错误

{FacebookGraphResponseException:(#200)需要扩展权限:publish_actions httpResponseCode:403,facebookErrorCode:200,facebookErrorType:OAuthException,message:(#200)需要扩展权限:publish_actions}

那么如何检查此令牌是否与Facebook服务器令牌匹配.

android facebook facebook-access-token android-facebook

6
推荐指数
1
解决办法
498
查看次数

如何使应用程序只工作3天

我正在上述平板电脑上安装此应用程序,我打算将这款平板电脑提供给我的客户一两天,我想要的是:

在检查操作之后,客户端应该在到期日之后不能使用所述应用程序.为此我调用了压缩函数并将提取的系统日期(Day)与我希望应用程序关闭操作的那一天进行比较.我使用以下代码:

  public void expire(){
    Calendar c = Calendar.getInstance();

    int sDate = c.get(Calendar.YEAR);
    int sMonth = c.get(Calendar.MONTH)+1;
    int sDay = c.get(Calendar.DAY_OF_MONTH); 
    int sHour =  c.get(Calendar.HOUR_OF_DAY);
    int sMin = c.get(Calendar.MINUTE);

    Toast.makeText(getApplicationContext(), ""+sDate+sMonth+sDay+"Hour is"+sHour, Toast.LENGTH_LONG).show();

    if (sDay >=11){
        System.exit(0);
    }

}
Run Code Online (Sandbox Code Playgroud)

我叫expire(); 在按钮上单击以检查,但我得到的是一个空白的黑屏几秒钟,然后应用程序工作正常.我不想要的.

java android

5
推荐指数
1
解决办法
342
查看次数