小编Roh*_*ngh的帖子

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万
查看次数

如何重命名android包名?

按Shift + F6似乎只是重命名最后一个目录.
例如,在项目中com.example.test,它将仅提供重命名测试.如果我导航到包名称.java或Manifest文件并按Shift + F6 ,则同样适用.

那么有没有办法重命名包?

android intellij-idea

132
推荐指数
10
解决办法
19万
查看次数

AsyncTask中的progressDialog

我正在尝试从http服务器加载rss feed时显示自定义progressdialog,我进行了一次硬搜索,但没有任何帮助我这样做,我唯一知道的是解决方案应该使用AsyncTask,但我很困惑params传递给这个AsyncTask.这是我的活动:

public class Soirees extends ListActivity {

    private List<Message> messages;
    private TextView tvSorties;
    private MyProgressDialog dialog;

    @Override
    public void onCreate(Bundle icicle) {

        super.onCreate(icicle);
        setContentView(R.layout.sorties);

        tvSorties=(TextView)findViewById(R.id.TVTitle);
        tvSorties.setText("Programme des soirées");

        loadFeed();

    }

    private void loadFeed(){

        try{
            BaseFeedParser parser = new BaseFeedParser();
            messages = parser.parse();
            List<Message> titles = new ArrayList<Message>(messages.size());
            for (Message msg : messages){
                titles.add(msg);
            }
            MessageListAdapter adapter = new MessageListAdapter(this,titles);
            this.setListAdapter(adapter);
            adapter.notifyDataSetChanged();

        } catch (Throwable t){
            Log.e("ImageLoader",t.getMessage(),t);
        }
    }

}
Run Code Online (Sandbox Code Playgroud)

你能帮我添加AsyncTask吗?

谢谢你,Houssem

android progressdialog android-asynctask

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

在Android应用程序中存储用户名和密码的最佳选择

我正在开发一个应用程序,用户需要登录才能执行操作...但主要是在Android手机上使用"让我登录"......在这种情况下我将不得不维护用户名和密码的值我的应用程序......应该使用首选项,还是SQLite Db,还是有别的东西,我怎样才能使它安全?Plz帮助...在此先感谢..

android android-preferences sharedpreferences android-sqlite

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

如何获得可用的wifi网络并将其显示在android中的列表中

朋友们,我想找到所有可用的WiFi网络并将其显示在我尝试过的列表中,如下所示.但它不起作用.我已经编辑了我的代码,现在我得到了结果但是得到了我不需要的所有结果.我只需要列表中的wifi网络名称.

public class MainActivity extends Activity {

    TextView mainText;
    WifiManager mainWifi;
    WifiReceiver receiverWifi;
    List<ScanResult> wifiList;
    StringBuilder sb = new StringBuilder();

    @Override
    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        mainText = (TextView) findViewById(R.id.tv1);
        mainWifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);

        if (mainWifi.isWifiEnabled() == false)
        {  
             // If wifi disabled then enable it
             Toast.makeText(getApplicationContext(), "wifi is disabled..making it enabled",
             Toast.LENGTH_LONG).show();
             mainWifi.setWifiEnabled(true);
         } 

         receiverWifi = new WifiReceiver();
         registerReceiver(receiverWifi, new IntentFilter(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION));
         mainWifi.startScan();
         mainText.setText("Starting Scan...");

     }

     public boolean onCreateOptionsMenu(Menu menu) {
            menu.add(0, 0, 0, "Refresh");
            return super.onCreateOptionsMenu(menu);
     } …
Run Code Online (Sandbox Code Playgroud)

android wifimanager android-wifi android-listview

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

RecyclerView onCreateViewHolder返回类型与多个自定义ViewHolders不兼容

我正在尝试在RecyclerView中使用多个ViewHolders,以便在运行时交换这些视图.我创建了两个扩展RecyclerView.ViewHolder的类:

MenuItemViewHolder

public class MenuItemViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {

    public TextView menuItemText;
    public ImageView menuItemPhoto;
    public RecyclerViewAdapter rva;

    public MenuItemViewHolder(View itemView) {
         super(itemView);
         itemView.setOnClickListener(this);

         rva = caller;
         menuItemText = (TextView) itemView.findViewById(R.id.grid_text);
         menuItemPhoto = (ImageView) itemView.findViewById(R.id.grid_image);
    }

    @Override
    public void onClick(View view) {
          Toast.makeText(view.getContext(), "Clicked Position = " + getPosition(), Toast.LENGTH_SHORT).show();

    }

}
Run Code Online (Sandbox Code Playgroud)

SelectedItemViewHolder

public class SelectedItemViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {

    public TextView menuItemText;
    public ImageView menuItemPhoto;
    public RecyclerViewAdapter rva;

    public SelectedItemViewHolder(View itemView) {
        super(itemView);
        itemView.setOnClickListener(this);

         menuItemText = (TextView) …
Run Code Online (Sandbox Code Playgroud)

android android-viewholder staggeredgridlayout android-recyclerview recyclerview-layout

20
推荐指数
1
解决办法
5826
查看次数

如何在 Android Studio 中为 Flutter 应用程序打开 iOS 模拟器

今天我开始学习Flutter。我在 Mac 上使用 Android Studio。我已经

  • 在 Android Studio 中配置 Flutter 和 Dart 插件。
  • 安装 Flutter SDK。

所以我可以在 Android Emulator 中运行 Flutter 应用程序。但是,当我选择 iOS 模拟器(Open iOS Simulator)时,它说这个

无法找到名为“Simulator.app”的应用程序

在此处输入图片说明 我没有任何使用 XCode 的经验,也没有在我的 Mac 中安装它。

我的问题是,

  1. 如何安装模拟器?
  2. 我是否需要在 Mac 中安装 Xcode 才能运行模拟器?(模拟器是否带有 Xcode)
  3. 我的理解是在 Android Studio 中安装 Flutter 插件也会导入 iOS 模拟器。我错了吗?

我发现了类似的问题,但没有弄清楚。

android ios ios-simulator android-studio flutter

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

如何在Android中使用Fragments

编辑:::请参考下面的答案......

题:::

我在Android中使用Fragments非常新,我完全搞砸了.

我只是想构建一个使用Fragments的简单示例应用程序.我的情况是,我的主要活动中有两个片段.第一个片段有一个edittext和一个按钮.第二个片段有一个textview.当我在edittext中输入名称并单击按钮时,第二个片段中的textview应显示在第一个片段的edittext中输入的名称.

我正在使用片段的静态分配(在XML中分配片段).

请参考下面的XML文件和代码......

activity_main.xml中

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <fragment
        android:id="@+id/fragment_content_1"
        android:name="com.example.fragmentexample.fragment_fragment_1"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" >
    </fragment>

    <fragment
        android:id="@+id/fragment_content_2"
        android:name="com.example.fragmentexample.fragment_fragment_2"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" >

        <!-- Preview: layout=@layout/fragment_basic -->
    </fragment>

</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

fragment_fragment_1.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:orientation="vertical" >

    <EditText
        android:id="@+id/edtxtPersonName"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ems="10"
        android:inputType="textPersonName" >

        <requestFocus />
    </EditText>

    <Button
        android:id="@+id/btnSayHi"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Say Hi" />

</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

fragment_fragment_2.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:orientation="vertical" >

    <TextView
        android:id="@+id/txtViewResult"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="I will say Hi" />

</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

Java文件::: …

android android-fragments

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

屏幕旋转后多次调用Android微调器onItemSelected

我有三个微调器的布局.它们在下拉列表中显示的选项不同.
在我的onCreateView我不得不安装微调的方法.在这个方法里面我有这样的东西:

  mySpinner = (Spinner) view.findViewById(R.id.my_spinner);
  ArrayAdapter<String> mySpinner =
            new ArrayAdapter<String>(getActivity(), R.layout.background,
                    new ArrayList<String>(Arrays.asList(getResources().getStringArray(R.array.spinner_one_data))));
  mySpinner.setDropDownViewResource(R.layout.spinner_text);
  mySpinner.setAdapter(mySpinner);
  mySpinner.setOnItemSelectedListener(this);
Run Code Online (Sandbox Code Playgroud)

正如我所说,我的另外两个旋转器几乎相同,但有不同的选择.

我知道onItemSelected在"第一次设置"中为每个微调器调用一次,所以我有一个标志来防止这个问题.有了这个标志解决方案,我的微调器正在按预期工作.

问题是当我在每个微调器中选择一个选项然后旋转屏幕.现在,onItemSelected被称为6次而不是我期待的3次(我设置了一个标志来管理3次呼叫的这种情况).

它为什么会发生,我应该怎么处理?

android android-spinner

8
推荐指数
2
解决办法
5594
查看次数

如何分离firestore监听器

我是FireStore的新手.我创建了一个ListenerRegistration来更新我的Recycler View.我知道我的实现可能并不完美,但每次我的活动被破坏时,我的应用程序都会在此监听器内的行上引发错误.我不知道为什么,但是mt registration.remove()在destroy之前或者finish()活动之后都没有工作.有人可以帮忙吗?

public class MainActivity extends AppCompatActivity {

  private ListenerRegistration registration;
  private com.google.firebase.firestore.Query query;

  private void requestPacienteList(){

    FirebaseFirestore db = FirebaseFirestore.getInstance();
    progress.setVisibility(View.VISIBLE);
    query = db.collection("Hospital");
    registration = query.addSnapshotListener(new EventListener<QuerySnapshot>() {

        @Override
        public void onEvent(QuerySnapshot documentSnapshots, FirebaseFirestoreException e) {
            for(DocumentSnapshot documentSnapshot : documentSnapshots){

                if(documentSnapshot.get("nome").equals("Santa Clara")){

                    hospital = documentSnapshot.toObject(Hospital.class);
                    hospital.setHospitalDocumentKey(documentSnapshot.getId());
                    FirebaseFirestore db = FirebaseFirestore.getInstance();

                    db.collection("Hospital")
                            .document(hospital.getHospitalDocumentKey())
                            .collection("Pacientes")
                            .addSnapshotListener(new EventListener<QuerySnapshot>() {

                                 @Override
                                public void onEvent(QuerySnapshot documentSnapshots, FirebaseFirestoreException e) {

                                    homeModelList.clear();
                                    for(DocumentSnapshot documentSnapshot : documentSnapshots){

                                        final Paciente paciente = documentSnapshot.toObject(Paciente.class);
                                        paciente.setPacienteKey(documentSnapshot.getId());
                                        FirebaseFirestore db …
Run Code Online (Sandbox Code Playgroud)

android google-cloud-firestore

8
推荐指数
2
解决办法
6390
查看次数