如何在应用程序启动时获取旋转进度条

2024-02-22

我是安卓新手。我设法将 JSON 文件解析到我的应用程序中。现在我想使用 AsyncTask 获取 Spinning ProgressBa 直到应用程序启动并加载数据。我尝试阅读很多内容,但它们只给出如何获取 onclick 事件或下载事件的进度条。

这是我的代码...

我只是对如何在应用程序启动时启动进度条以及以下代码的哪一部分进入 asycTask 类的哪个方法感到困惑......

package com.demojson;

import java.util.ArrayList;
import java.util.HashMap;

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

import android.os.AsyncTask;
import android.os.Bundle;
import android.view.Gravity;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ListAdapter;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.TextView;
import android.widget.Toast;
import android.app.ListActivity;


public class MainActivity extends ListActivity {

    private static String url = "http://timepasssms.com/webservices/ws.php?type=category";

    private static final String TAG_DATA = "DATA";

    private static final String TAG_0 = "0";
    private static final String TAG_ID = "id";
    private static final String TAG_1 = "1";
    private static final String TAG_NAME = "name";
    private static final String TAG_2 = "2";
    private static final String TAG_DESCRIPTION = "description";
    private static final String TAG_3 = "3";
    private static final String TAG_NEW_NAME = "new_name";
    private static final String TAG_4 = "4";
    private static final String TAG_STATUS = "status";

    JSONArray jArray = null;



    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);


        ArrayList<HashMap<String, String>> contents = new ArrayList<HashMap<String, String>>();

        JSONMethod metObj = new JSONMethod();
        JSONObject jOb = metObj.getUrl(url);
        try {
            jArray = jOb.getJSONArray(TAG_DATA);

            for (int i = 0; i < jArray.length(); i++) {
                JSONObject child = jArray.getJSONObject(i);

                String tag_0 = child.getString(TAG_0);
                String id = child.getString(TAG_ID);
                String tag_1 = child.getString(TAG_1);
                String name = child.getString(TAG_NAME);
                String tag_2 = child.getString(TAG_2);
                String description = child.getString(TAG_DESCRIPTION);
                String tag_3 = child.getString(TAG_3);
                String new_name = child.getString(TAG_NEW_NAME);
                String tag_4 = child.getString(TAG_4);
                String status = child.getString(TAG_STATUS);

                HashMap<String, String> map = new HashMap<String, String>();
                map.put(TAG_NAME , name);

                contents.add(map);
            }

        } catch (JSONException e) {
            e.printStackTrace();
        }

        ListAdapter adapter = new SimpleAdapter(this, contents,
                R.layout.list_items, new String[] { TAG_NAME },
                new int[] { R.id.tvName });
        setListAdapter(adapter);

        // --To get listview set...-- 

        ListView lv = getListView();
        lv.setOnItemClickListener(new OnItemClickListener() {

            @Override
            public void onItemClick(AdapterView<?> parent, View view,
                    int position, long id) {
                String item = ((TextView)view.findViewById(R.id.tvName)).getText().toString();
                Toast toast = Toast.makeText(getApplicationContext(), item , Toast.LENGTH_SHORT);
                toast.setGravity(Gravity.CENTER, 0, 0);
                toast.show();
            }
        }); 
    }


}

和 JSONMethod 类...

package com.demojson;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.json.JSONObject;

import android.util.Log;

public class JSONMethod {
    InputStream is = null;
    JSONObject jObj=null;
    String json = "";



    public JSONObject getUrl(String url){
        try{
            DefaultHttpClient httpClient = new DefaultHttpClient();
            HttpPost httpPost = new HttpPost(url);
            HttpResponse httpRespone = httpClient.execute(httpPost);
            HttpEntity httpEntity = httpRespone.getEntity();
            is = httpEntity.getContent();

        }catch(UnsupportedEncodingException ue){

        }catch(ClientProtocolException ce){ 

        }catch(IOException ie){

        }

        try{
            BufferedReader br = new BufferedReader(new InputStreamReader(is));
            StringBuilder sb = new StringBuilder();
            String line=null;
            while((line=br.readLine())!= null){
                sb.append(line + "/n"); 
            }
            is.close();
            json = sb.toString();

        }catch(Exception e){
            Log.e("JSONMethod", "Error converting result" + e.toString());
        }
        try{
            jObj = new JSONObject(json);
        }catch(Exception e){
            Log.e("JSONMethod", "Error parsing data" + e.toString());
        }

        return jObj;
    }
}

这是 xml 文件... 活动_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical">
    <!-- Main ListView 
         Always give id value as list(@android:id/list)
    -->

    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="fill_parent"
        android:layout_height="60dp"
        android:src="@drawable/timepasssms" />

    <ListView
        android:id="@android:id/list"
        android:layout_width="fill_parent"
        android:layout_gravity="center"
        android:layout_height="wrap_content"/>

</LinearLayout>

和 list_item.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/round_edge"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/tvName"
        android:layout_width="fill_parent"
        android:layout_height="45dp"
        android:layout_marginLeft="10dp"
        android:gravity="left"
        android:padding="5dp"
        android:textColor="#DF7401"
        android:textSize="20dp" />

</LinearLayout>

这是示例`

@Override
    protected void onPostExecute(Object table) {
        // TODO Auto-generated method stub
        super.onPostExecute(table);
        dialog.dismiss();
    }

    @Override
    protected void onPreExecute() {
        // TODO Auto-generated method stub
        super.onPreExecute();
        dialog=ProgressDialog.show(Yourclass.this, "Loading Data.", "Please Wait");
    }

` 我希望有帮助

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在应用程序启动时获取旋转进度条 的相关文章

  • 使用 Firebase 数据填充 Android spinner

    我在填充时遇到一些问题propertyAddress从我的properties桌子到我的旋转器MaintenanceActivity 问题本身不在于代码 而在于可以使用 Firebase 控制台修改的数据库规则 目前 我的规则是这样的 ru
  • 带图标的 Android 选项菜单

    如何使用选项菜单显示图标 我尝试了以下代码 但我的选项菜单没有图像图标 我正在使用 android 版本 4 0 来开发应用程序 Java代码 public boolean onCreateOptionsMenu Menu menu sup
  • 如何在 ImageButton 上显示文本?

    我有一个ImageButton我想在上面显示文本和图像 但是当我尝试使用模拟器时
  • 如何在无头Linux中更新Android平台工具?

    我们有一些没有安装 X Window 的 CI 主机 我知道如何使用 android 更新命令更新 SDK 但如何使用此命令更新平台工具 您可以使用以下命令 android list sdk android update sdk no ui
  • 需要在状态改变时关闭MediaRecorder播放的声音

    我已尝试在下面的链接中找到的更改 但没有效果 如何在状态改变时关闭 MediaRecorder 播放的声音 https stackoverflow com questions 6804205 how to shut off the soun
  • 如何将弹出菜单项的方向从右向左更改?

    我知道这个问题被问了很多次 我使用了很多解决方案 但它对我不起作用 我想改变我的方向Menu to rtl用一个Popup但它不起作用 my menu menu menu
  • 更新到最新版本(3.1)后缺少 google-play-services_lib.jar

    我在我的应用程序中使用 Google Play 服务已经有一段时间了 没有出现任何问题 我正在使用 Eclipse 我已在 I O 后将播放服务 以及 ADT 和 SDK 更新到最新版本 但现在我无法构建我的应用程序 我已将 google
  • 如何在Android中以编程方式替换视图? [复制]

    这个问题在这里已经有答案了 我有一个复杂的视图 包含多个子视图 例如文本视图和图像视图 我想用另一个 派生的 图像视图替换其中一个图像视图 另一个支持在后台加载图像 如何用新的图像视图替换原始图像视图 我目前的解决方案只是复制粘贴整个 XM
  • 如何在 Android 中签署 AAR Artifacts?

    我目前正在开发一个 AAR android 库 我想用我自己的密钥对已发布的工件进行签名 以便我可以确定我是否发布了具有相同名称和功能的假 aar 注意事项1 我希望能够以编程方式检查我的库的真实性 即使是一个伪造的库 只是伪造了我的 aa
  • Byte[] 和 java.lang.OutOfMemoryError 按位读/写文件

    我正在努力擦除 Android 中的一些可用空间 这是我的代码 private void creatingFileDelete int size int passMode File lastFile new File Environment
  • Android Fabric Crashlytics 崩溃,初始化时未找到资源

    我从 google play 控制台收到了这份报告 看起来 Fabric 在启动时崩溃了 因为某些用户出现了资源未找到的异常 java lang RuntimeException at android app ActivityThread
  • Android - 带图像的按钮 - 禁用按钮时图像变暗

    在 Android 中 我有一个包含图像和文本的按钮 禁用该按钮时 文本会自动变灰 但图像保持不变 当按钮被禁用时是否可以使图像变暗而不需要两个单独的图像 在您的代码中 您还可以使用彩色滤光片 http developer android
  • 覆盖乔达一周的第一天?

    是否有可能覆盖乔达弱的第一天sunday 因为 Joda 使用Monday作为一周的第一天 如果有办法的话 谁能解释一下 我在 SOF 中提到了以下主题 乔达时间 一周的第一天 https stackoverflow com questio
  • Android:调用超类的原因?

    我正在查看 Android 开发人员网站上的记事本教程 我有一个关于调用活动超类的重写函数的问题 例如 public class Notepadv3 extends ListActivity Override public boolean
  • 将对象传递给活动

    我可以在第一个活动中初始化对象并在所有活动中初始化对象吗 public class Calc int x int y public Calc int x int y this x x this y y public int sum retu
  • 如何在列表视图中选择时启用视频序列自动播放?

    大家好 有人可以与我分享一下我如何编写我的 viewvideo java 类 以便它允许自动播放视频功能 自动排序在列表视图中播放所选视频的任务 从当前位置到最新录制的视频 按顺序直到最新的视频播放完毕 这类似于 YouTube 自动播放功
  • 在Android项目中引用(纯java)项目(找不到类)

    我试图在我的 Android 项目中引用一个纯 java 项目 gt Java 项目有一大堆我需要使用的类 哦 正如第一个回复所指出的 我正在使用 eclipse 是的 唯一的问题是 我总是找不到类 XXX 从方法 com example
  • 我可以像 justify 这样设置 Textview 的属性吗? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我想设置 TextView 属性 如右对齐 左对齐 对齐 不 你不能设置像重力这样的属性 但您仍然可以通过采用 web 视图而不是文本视图
  • 片段已添加 IllegalStateException

    我在容器 Activity 上使用此方法来显示 BFrag public void showBFrag Start a new FragmentTransaction FragmentTransaction fragmentTransact
  • Android NDK - 仅用 C/C++ 编写

    有没有一种可能的方法可以使用 C C 编写整个 NDK 应用程序 而无需像 hello jni 示例项目 HelloJni java 中那样的 Java 入门 类 以某种方式创建一个 HelloJni c 来执行相同的操作 从 Androi

随机推荐

  • 从 SFTP 服务器打开 Astropy FITS 文件

    我有一个 Python 脚本 可以使用 Paramiko 模块 ssh 到远程服务器 下面是我的脚本 import paramiko ssh paramiko SSHClient ssh set missing host key polic
  • Wildfly 10 启动时无法加载 MySQL XA 驱动程序

    我有一个正在 Wildfly 10 0 0 中部署的 Web 应用程序 它需要 mysql xa 驱动程序 我有以下错误 2015 10 13 12 25 37 979 错误 org jboss as controller manageme
  • 如何将代码从 C# 转换为 PHP [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我有一个用纯 C 编写的业务逻辑类 没有这种语言的任何特定内容 我会将此代码转换为 PHP 我可以编写自
  • Golangrequirements.txt 等效项

    来自 python django 世界 如果能有一个 go revel 的类似requirements txt 的东西那就太好了 我怎样才能做到这一点 我知道我可以编写一个requirements txt 文件 然后执行类似的操作 cat
  • 直接从 numpy 进行 h.264 编码

    我想直接从视频帧的 numpy 数组中编码视频 Open cv 通过以下方式提供此类功能cv2 VideoWriter 但是我需要 h 264 编解码器 但该编解码器不可用 到目前为止 我最好的方法是使用 open cv 编写视频 然后通过
  • Telegram 机器人 - OAuth 授权

    我想在我的机器人上通过 Twitch API 实现 OAuth 授权 当我寻找更好的解决方案时 我发现了这个 GitHubBot 在此机器人重定向 URL 中 从integrations telegram org github 开始 我想知
  • Struts2 JSON 插件:添加 ActionMessages、ActionErrors 和 FieldErrors 到响应

    我正在制作 JQuery Ajax 帖子 并且想要任何actionmessages actionerrors and fielderrors添加到响应中的操作中 以 JSON 格式 我添加了这个结果
  • Android设置位图到Imageview

    您好 我有一个 Base64 格式的字符串 我想将它转换为位图 然后将其显示到 ImageView 这是代码 ImageView user image Person person object Override protected void
  • @RequestBody如何区分未发送的值和空值?

    PatchMapping update HttpEntity
  • PouchDB:过滤、排序和分页

    与这两个 CouchDB 问题非常相似 3311225 https stackoverflow com questions 3311225 couchdb sorting and filtering in the same view and
  • 如何从 Flutter 中的字符串中删除/检测整个表情符号?

    我想在 Flutter 或 Dart 中模拟字符串中的键盘退格删除事件 就像是 String str hello 你们 myBackspace str will return hello 你们 myBackspace str will re
  • 具有与区域设置无关的 ID 的 get-counter

    我正在尝试通过 cmdlet 访问以下反向路径get counter以与语言环境无关的方式 Memory Pool Nonpaged Bytes 我按照中的说明进行操作这个线程 https stackoverflow com questio
  • 网络应用程序应该具有自动更新功能吗?

    在看到 Microsoft 给人们升级 Internet Explorer 6 时遇到的一些问题以及 Firefox 如何进行自动更新后 我开始考虑我们的 Web 应用程序的推送式升级系统的优点和缺点 您认为网络应用程序应该具有自动更新功能
  • NodeJS 4 和 5 npm 安装 bcrypt 和 db-migrate 失败

    前一段时间我安装了 NodeJS v0 10 31 并在一个项目上工作没有问题 但最近我决定更新到 Node v5 0 0 一切都很好 直到我决定使用 bcrypt 和 db migrate 调用命令npm 安装将无法吐出一长串详细信息 但
  • Magento - 通过库存查找缺货产品

    在我的 Magento 商店中 在将新库存添加到缺货商品后 我有时会忘记从下拉列表中选择 有货 是否有可能以某种方式获取所有有库存但标记为 缺货 的产品的列表 如果您能够快速编写一些脚本 products Mage getModel cat
  • Django 管理员:如何过滤整数字段以获取特定范围的值

    如何在 Django Admin 中创建过滤器以仅显示整数值位于两个值之间的记录 例如 如果我有一个模型 Person 它具有年龄属性 并且我只想显示年龄在 45 到 65 之间的 Person 记录 您可以使用以下方式过滤字段querys
  • numpy:累积多重数计数

    我有一个可能有重复的有序整数数组 我想计算连续的相等值 当一个值与前一个值不同时从零重新开始 这是使用简单的 python 循环实现的预期结果 import numpy as np def count multiplicities a r
  • 用于测试私有方法的Java工具?

    对于测试私有方法的意义有不同的看法 例如 here https softwareengineering stackexchange com questions 16732 unit testing internal components a
  • 使用本机 CSS 和 HTML 设置漏斗堆栈布局样式

    我想显示类似漏斗堆栈的数据 如下图所示 我能够使用边框创建锥度 例如 div class taper div 并使用以下 CSS taper width 200px height 0px border color lightgray tra
  • 如何在应用程序启动时获取旋转进度条

    我是安卓新手 我设法将 JSON 文件解析到我的应用程序中 现在我想使用 AsyncTask 获取 Spinning ProgressBa 直到应用程序启动并加载数据 我尝试阅读很多内容 但它们只给出如何获取 onclick 事件或下载事件