相关疑难解决方法(0)

用android发出HTTP请求

我到处搜索但我找不到答案,有没有办法发出简单的HTTP请求?我想在我的某个网站上请求PHP页面/脚本,但我不想显示该网页.

如果可能的话我甚至想在后台(在BroadcastReceiver中)这样做

android httpwebrequest androidhttpclient

347
推荐指数
9
解决办法
41万
查看次数

Android AsyncTask API 在 Android 11 中弃用。有哪些替代方案?

Google 正在弃用 Android 11 中的 Android AsyncTask API,并建议java.util.concurrent改用。你可以在这里查看提交

 *
 * @deprecated Use the standard <code>java.util.concurrent</code> or
 *   <a href="https://developer.android.com/topic/libraries/architecture/coroutines">
 *   Kotlin concurrency utilities</a> instead.
 */
@Deprecated
public abstract class AsyncTask<Params, Progress, Result> {
Run Code Online (Sandbox Code Playgroud)

如果您在 Android 中维护带有异步任务的旧代码库,则将来可能需要对其进行更改。我的问题是,使用java.util.concurrent. 它是一个 Activity 的静态内部类。我正在寻找可以使用的东西minSdkVersion 16

private static class LongRunningTask extends AsyncTask<String, Void, MyPojo> {
        private static final String TAG = MyActivity.LongRunningTask.class.getSimpleName();
        private WeakReference<MyActivity> activityReference;

        LongRunningTask(MyActivity context) {
            activityReference = new WeakReference<>(context);
        }

        @Override
        protected MyPojo doInBackground(String... params) { …
Run Code Online (Sandbox Code Playgroud)

java android kotlin kotlin-coroutines

120
推荐指数
9
解决办法
9万
查看次数

Android如何使用Environment.getExternalStorageDirectory()

我如何使用Environment.getExternalStorageDirectory()从SD卡读取存储的图像或有更好的方法吗?

android sd-card

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

在Android中调用另一个Activity

如何从一个(当前)活动中调用另一个活动?

为此,我想调用一个活动,其中包含当前活动的对话框消息框.

android

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

在Android中下载并解压缩Zip文件

我的应用程序是从服务器下载zip文件并提取此zip文件并将文件保存到SD卡但问题是,如果我下载4-5 MB的zip文件并解压缩,这是工作正常,但如果我正在下载30-35 MB zip文件这会给我错误,抱歉我的英语沟通不好.

下面是我的下载和解压缩Zip文件的代码: -

public class UnzipManager {
    private static String BASE_FOLDER;

    public static Context localContext;
    public static String passurl;
    public static int count;
    public static Context context;
    /*
     * You can use this flag to check whether Unzippingthread is still running..
     */
    public static boolean isDownloadInProgress;
    /*
     * After unzipping using this flag ,you can check whether any low memory
     * exceptions Occurred or not..and alert user accordingly..
     */
    public static boolean isLowOnMemory;
    public static int i …
Run Code Online (Sandbox Code Playgroud)

android unzip download

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

Android进度对话框

我的应用程序从互联网上获取一些HTML代码,完成后,将其显示在设备屏幕上.由于这需要大约3-4秒,因此在这段时间屏幕保持黑色,我想使用进度对话框.这是我的代码:

package com.nextlogic.golfnews;



// ALL THE IMPORTS ....

public class Activity1 extends Activity {

    private ProgressDialog progressDialog;
 @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main2);

        progressDialog = ProgressDialog.show(Activity1.this, "", "Loading...");
        new Thread() 
        {
          public void run() 
          {

             try
               {
                sleep(2000);

          // HERE I'VE PUT ALL THE FUNCTIONS THAT WORK FOR ME
 }
    catch (Exception e)
    {
        Log.e("tag",e.getMessage());
    }
// dismiss the progressdialog   
  progressDialog.dismiss();
 }
}.start();
Run Code Online (Sandbox Code Playgroud)

该程序有效但不再显示任何内容.我在logcat中有一个错误:

Only the original thread that created a view hierarchy can touch its views.
Run Code Online (Sandbox Code Playgroud)

请你帮助我好吗 …

android dialog progress

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

java.lang.RuntimeException:无法在未调用Looper.prepare()的线程内创建处理程序

嗨,我的代码有问题.我的代码是

progressD = ProgressDialog.show(MenuUtama.this, "", "Uploading files to server.....", false);
Thread thread = new Thread(new Runnable(){
       public void run(){
           //doFileUpload();
           try {
            // setiap parameter yang akan dikirim melalui http
            // harus encode agar
            // dapat terbaca dengan baik oleh server
            Cursor c = helper.getAll1(almagId);
            Cursor cr = helper.getUpImage(almagId);
                if(c.moveToFirst()){
                    //progressD = ProgressDialog.show(context, title, message)
                        do{
                            String kdstore = URLEncoder.encode(helper.getKdStore(c).toString(), "utf-8");
                            String nama = URLEncoder.encode(helper.getNama(c).toString(), "utf-8");
                            String alamat = URLEncoder.encode(helper.getAlamat(c).toString(), "utf-8");
                            String kdpos = URLEncoder.encode(helper.getKdPos(c).toString(), "utf-8");
                            String notelp = URLEncoder.encode(helper.getNotel(c).toString(), …
Run Code Online (Sandbox Code Playgroud)

error-handling android

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

我在哪里可以找到DownloadManager的ContentProvider实现

我尽可能多地搜索了android的开源代码,但是我无法通过2.3 SDK中的DownloadManager找到实际下载的实现.我找到了DownloadManager源代码和下载类源代码,该代码具有与ContentProvider交互的常量,但我无法找到该代码的源代码ContentProvider.

我想找到这个,以便我知道一个很好的方法来实现我自己的下载,因为我将使用比我的应用程序更小的2.3版本.

android android-contentprovider android-download-manager

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

在Android 4.4 KitKat上创建和写入可移动SD卡目录的正确方法是什么?

我花了几个小时现在正在寻找(和尝试)许多不同的方法,在获得无数"eacces permission denied"错误后,将一些文件写入我的4.4 Android KitKat的可移动SD卡.现在似乎Google对SD卡上的文件系统的访问权限有限,您只能写入应用程序拥有的目录(例如:/Android/data/com.mycompany.myapp/files/).

最后,我得到了一些工作,可以在可移动SD卡上创建一个可以写入的目录.但是我很好奇为什么为了获得对可移动SD卡上的这个拥有目录的访问,我首先必须使用外部目录的路径创建一个新的文件对象?

我的实施:

首先,我创建两个全局变量来容纳外部和可移动路径的字符串.

MainActivity

public class MainActivity extends ActionBarActivity {
    String externalStorageDirectory;//path to owned external storage files
    String secondaryStorageDirectory ;//path to owned removable storage files
Run Code Online (Sandbox Code Playgroud)

然后我询问系统调用制造商特定目录的内容,并开始连接externalStorage和removableStorage变量的绝对路径.我还创建了一个新的File对象,该对象使用外部应用程序拥有的目录的路径进行初始化.

onCreate()

externalStorageDirectory = this.getExternalFilesDir(null).toString();//build absolute path to the app owned external directory
File folder = new File(externalStorageDirectory ); //THIS LINE IS CRUCIAL!!
Log.d("DEBUG", " - External Path" + externalStorageDirectory );// "/storage/emulated/0/Android/data/com.mycompany.myapp/files"


String ownedDirectory = "/Android/data/" + this.getPackageName() + "/files/";
secondaryStorageDirectory = System.getenv("SECONDARY_STORAGE").toString() + ownedDirectory;//build absolute path to the app …
Run Code Online (Sandbox Code Playgroud)

android android-4.4-kitkat

6
推荐指数
0
解决办法
1749
查看次数

带有 Google Drive URL 的下载管理器

我正在尝试使用 android DownloadManager 下载存储在 Google Drive 中的文件。

我从 Google 获得登录令牌,如下所示:

GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
            .requestIdToken(AppConfig.getInstance().get("google_client_id"))
            .requestProfile()
            .requestEmail()
            .build();
Run Code Online (Sandbox Code Playgroud)

我收到一个带有谷歌驱动器文件 url 的通知,我将它传递给 DownloadManager,将令牌传递给它:

String cookie = CookieManager.getInstance().getCookie(d.getURL());
            request.addRequestHeader("Cookie",cookie);
            request.addRequestHeader("Authorization", "OAuth " + profile.getToken());
//d is the document object, that contains url, file name, etcc
//Profile is a simple object class that hold the user data taken from sign Google, like token, name, email, etcc
Run Code Online (Sandbox Code Playgroud)

使用简单的广播接收器来管理下载结果 (ACTION_DOWNLOAD_COMPLETE)。

下载已成功完成,但文件已损坏。如果我尝试打开它,设备(和电脑)会给我一个格式错误。该文件包含 Google 页面的 HTML 代码,该代码表示​​存在错误,仅此而已。

(我正在使用的帐户可以从这个特定的驱动器存储中读取和下载文档)

这是使用 DownloadManager 下载 Google Drive 文件的正确方法吗?有可能这样做吗?

android google-drive-api android-download-manager

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