相关疑难解决方法(0)

AsyncTask Android示例

我正在阅读AsyncTask,我尝试了下面的简单程序.但它似乎没有用.我怎样才能使它工作?

public class AsyncTaskActivity extends Activity {

    Button btn;

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        btn = (Button) findViewById(R.id.button1);
        btn.setOnClickListener((OnClickListener) this);
    }

    public void onClick(View view){
        new LongOperation().execute("");
    }

    private class LongOperation extends AsyncTask<String, Void, String> {
        @Override
        protected String doInBackground(String... params) {
            for(int i=0;i<5;i++) {
                try {
                    Thread.sleep(1000);
                } catch (InterruptedException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
            TextView txt = (TextView) findViewById(R.id.output); …
Run Code Online (Sandbox Code Playgroud)

android android-asynctask

667
推荐指数
11
解决办法
93万
查看次数

什么参数传递给AsyncTask <arg1,arg2,arg3>?

我不明白我应该放在这里以及这些论点最终的位置?究竟应该放什么,它究竟会去哪里?我是否需要包括所有3或者我可以包括1,2,20?

android arguments android-asynctask

153
推荐指数
4
解决办法
10万
查看次数

如何将多个原始参数传递给AsyncTask?

有相关的问题,例如如何将2个参数传递给AsyncTask类?但是我遇到了徒劳地尝试将多个原语作为参数传递给AsyncTask的困难,所以我想分享我发现的东西.在现有的问题和答案中没有捕捉到这种微妙之处,所以我想帮助那些遇到与我一样的问题的人,并为他们省去痛苦.

问题是:我有多个原始参数(例如两个long),我想传递给AsyncTask以在后台执行 - 它怎么能完成?(我的回答......经过一段时间的挣扎......可以在下面找到.)

primitive android variadic-functions android-asynctask

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

iOS/Objective-C相当于Android的AsyncTask

我熟悉AsyncTaskAndroid中的使用:创建子类,调用子类execute的实例,并onPostExecute在UI线程或主线程上调用.什么是iOS中的等价物?

android asynchronous ios android-asynctask

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

如何将两种不同的数据类型传递给AsyncTask,Android

我有一个方法,它执行SQLite数据库更新并将其放在AsyncTask中,以使其更快,更可靠.

但是,更新数据库需要两个数据.一个是Integer,另一个是此处显示的PrimaryKeySmallTank类的对象.

在AsyncTask的doInBackground方法的参数中使用params数组,我可以传入一个Integer,但是如果我有两种不同类型的数据呢?

如果整数存储在int ... params [0]中,我不能在params [1]中存储不同的类型对象,那么可以做些什么呢?

对象我想传递给AsyncTask

public class PrimaryKeySmallTank {

int contractNumber;
int customerCode;
int septicCode;
String workDate;
int workNumber;

}
Run Code Online (Sandbox Code Playgroud)

我正在使用的AsyncTask

 public class UpdateInfoAsyncTask extends AsyncTask<Integer, Void, Void>{

  @Override
  protected void onPreExecute() {
   // TODO Auto-generated method stub

  }

  @Override
  protected Void doInBackground(Integer... params) {
      Integer mIntegerIn = params[0];  // this is what I want to do, example
      PrimaryKeySmallTank mPrimaryKeySmallTank = params[1];  // different data type to pass in

      Database db = new Database(InspectionInfoSelectionList.this);
        db.openToWrite();
        db.updateWorkClassificationByRow(mPrimaryKeySmallTank, …
Run Code Online (Sandbox Code Playgroud)

multithreading android android-asynctask

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

使用AsyncTask

抱歉,如果这是一个简单的问题,但我对此很新,还在学习.

我有一个应用程序,当我的用户在输入他们的详细信息后单击按钮登录时,它崩溃与android.os.NetworkOnMainThreadException我发现这是因为我在主线程上执行网络操作并解决我需要使用AsyncTask,我被语法困住了.

单击按钮后,这是我的代码,调用函数进行连接,然后将json解析为sqlite db.

// Login button Click Event
    btnLogin.setOnClickListener(new View.OnClickListener() {

        public void onClick(View view) {
            String email = inputEmail.getText().toString();
            String password = inputPassword.getText().toString();
            UserFunctions userFunction = new UserFunctions();
            JSONObject json = userFunction.loginUser(email, password);

            // check for login response
            try {
                if (json.getString(KEY_SUCCESS) != null) {
                    loginErrorMsg.setText("");
                    String res = json.getString(KEY_SUCCESS); 
                    if(Integer.parseInt(res) == 1){
                        // user successfully logged in
                        // Store user details in SQLite Database
                        DatabaseHandler db = new DatabaseHandler(getApplicationContext());
                        JSONObject json_user = json.getJSONObject("user");

                        // Clear all previous …
Run Code Online (Sandbox Code Playgroud)

android exception android-asynctask

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

SQLiteAssetHelper仅在某些设备上出现NullPointerException

我正在使用SQLiteAssetHelper库来处理我的App数据库操作,它几乎适用于我测试过的所有手机.但是,当打开数据库的调用时,一些使用Android 2.3.3 - 2.3.7的用户会报告崩溃.我怀疑这是由于第一次从资产文件夹中复制数据库时出现了一些问题(例如内部存储空间不足).

助手班:

public class DbHelper extends SQLiteAssetHelper {

    final static String DB_NAME="db";
    static final int DB_VERSION = 1307181213;
    final Context context;

    public DbHelper(Context c) {
        super(c, DB_NAME, null, DB_VERSION);
        this.context = c;
        setForcedUpgradeVersion(DB_VERSION);
    }
}
Run Code Online (Sandbox Code Playgroud)

处理程序类(如果无法打开db,我会在10秒后将计数器设置为超时):

public class DbHandlerDao {

    private SQLiteDatabase database;
private DbHelper dbHelper;

public DbHandlerDao(Context context) {
    dbHelper = new DbHelper(context);
}

public void open() throws SQLException {
    boolean opened = false;
    int timeout = 0;
    while (!opened && timeout < 10000) {
        try …
Run Code Online (Sandbox Code Playgroud)

sqlite android

8
推荐指数
1
解决办法
805
查看次数

Params是什么意思......?在android中

我对Android dev很新,所以今天我偶然发现了android文档中的这段代码

Result doInBackground (Params... params)
Run Code Online (Sandbox Code Playgroud)

是什么意思Params...?它是一样的Params吗?但是当使用Params(没有...)时,它会抛出错误而不是覆盖抽象.

这让我很困惑.

android

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