当前位置:实例文章 » 其他实例» [文章]理解基本的Android编程(2/2)

理解基本的Android编程(2/2)

发布人:shili8 发布时间:2025-03-11 17:50 阅读次数:0

**理解基本的Android编程(2/2)**

在上一篇文章中,我们已经了解了Android编程的基础知识,包括Activity、Intent、Bundle等概念。现在,我们将继续讨论更多的内容,以帮助你更好地理解Android编程。

###1. ListView和AdapterListView是Android中一个非常常用的控件,它可以显示一组数据项。在ListView中,每个数据项都是由一个View组成的,这就是Adapter的作用。Adapter负责将数据转换为ListView中的View。

#### 示例代码:

java// MainActivity.javapublic class MainActivity extends AppCompatActivity {
 private ListView listView;

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

 // 初始化ListView listView = findViewById(R.id.listView);

 // 创建一个ArrayList来存储数据 ArrayList data = new ArrayList<>();
 for (int i =0; i < 10; i++) {
 data.add("Item " + i);
 }

 // 创建一个ArrayAdapter来显示数据 ArrayAdapter adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, data);

 // 将Adapter设置到ListView中 listView.setAdapter(adapter);
 }
}


xml



####说明:

* 在上面的示例代码中,我们首先初始化一个ListView,然后创建一个ArrayList来存储数据。
* 接着,我们创建一个ArrayAdapter来显示数据。ArrayAdapter是Android中一个非常常用的Adapter,它可以将数据转换为ListView中的View。
* 最后,我们将Adapter设置到ListView中,ListView就会显示我们传递给Adapter的数据。

###2. RecyclerView和ViewHolderRecyclerView是Android中一个更高级的控件,它比ListView更强大。RecyclerView可以显示一组复杂的数据项,每个数据项都是由多个View组成的。在RecyclerView中,每个数据项都是由一个ViewHolder来管理的。

#### 示例代码:

java// MainActivity.javapublic class MainActivity extends AppCompatActivity {
 private RecyclerView recyclerView;

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

 // 初始化RecyclerView recyclerView = findViewById(R.id.recyclerView);

 // 创建一个ArrayList来存储数据 ArrayList data = new ArrayList<>();
 for (int i =0; i < 10; i++) {
 data.add("Item " + i);
 }

 // 创建一个ArrayAdapter来显示数据 RecyclerView.Adapter adapter = new MyAdapter(data);

 // 将Adapter设置到RecyclerView中 recyclerView.setAdapter(adapter);
 }
}

// MyAdapter.javapublic class MyAdapter extends RecyclerView.Adapter {
 private ArrayList data;

 public MyAdapter(ArrayList data) {
 this.data = data;
 }

 @Override public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
 View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_layout, parent, false);
 return new MyViewHolder(view);
 }

 @Override public void onBindViewHolder(MyViewHolder holder, int position) {
 holder.textView.setText(data.get(position));
 }

 @Override public int getItemCount() {
 return data.size();
 }
}

// MyViewHolder.javapublic class MyViewHolder extends RecyclerView.ViewHolder {
 public TextView textView;

 public MyViewHolder(View itemView) {
 super(itemView);
 textView = itemView.findViewById(R.id.text_view);
 }
}


xml






####说明:

* 在上面的示例代码中,我们首先初始化一个RecyclerView,然后创建一个ArrayList来存储数据。
* 接着,我们创建一个ArrayAdapter来显示数据。ArrayAdapter是Android中一个非常常用的Adapter,它可以将数据转换为RecyclerView中的View。
* 最后,我们将Adapter设置到RecyclerView中,RecyclerView就会显示我们传递给Adapter的数据。

###3. FragmentFragment是Android中一个更高级的控件,它比Activity更强大。Fragment可以显示一组复杂的数据项,每个数据项都是由多个View组成的。在Fragment中,每个数据项都是由一个View来管理的。

#### 示例代码:

java// MainActivity.javapublic class MainActivity extends AppCompatActivity {
 private FragmentManager fragmentManager;

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

 // 初始化FragmentManager fragmentManager = getSupportFragmentManager();

 // 创建一个Fragment MyFragment fragment = new MyFragment();

 // 将Fragment添加到Activity中 fragmentManager.beginTransaction().add(R.id.fragment_container, fragment).commit();
 }
}

// MyFragment.javapublic class MyFragment extends Fragment {
 @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
 View view = inflater.inflate(R.layout.fragment_layout, container, false);
 return view;
 }
}


xml






####说明:

* 在上面的示例代码中,我们首先初始化一个FragmentManager,然后创建一个Fragment。
* 接着,我们将Fragment添加到Activity中,Fragment就会显示在Activity中。

###4. IntentIntent是Android中一个非常重要的概念,它代表了一个操作或动作。Intent可以传递数据、启动Activity、服务等。

#### 示例代码:

java// MainActivity.javapublic class MainActivity extends AppCompatActivity {
 @Override protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.activity_main);

 // 创建一个Intent Intent intent = new Intent(this, MyActivity.class);

 // 将数据传递给Intent intent.putExtra("key", "value");

 // 启动Activity startActivity(intent);
 }
}

// MyActivity.javapublic class MyActivity extends AppCompatActivity {
 @Override protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.activity_main);

 // 获取数据 String value = getIntent().getStringExtra("key");

 // 显示数据 Toast.makeText(this, value, Toast.LENGTH_SHORT).show();
 }
}


####说明:

* 在上面的示例代码中,我们首先创建一个Intent,然后将数据传递给Intent。
* 接着,我们启动Activity,Activity就会显示我们传递给Intent的数据。

###5. BundleBundle是Android中一个非常重要的概念,它代表了一个集合。Bundle可以存储和传递数据。

#### 示例代码:

java// MainActivity.javapublic class MainActivity extends AppCompatActivity {
 @Override protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.activity_main);

 // 创建一个Bundle Bundle bundle = new Bundle();

 // 将数据添加到Bundle中 bundle.putString("key", "value");

 // 启动Activity Intent intent = new Intent(this, MyActivity.class);
 intent.putExtras(bundle);
 startActivity(intent);
 }
}

// MyActivity.javapublic class MyActivity extends AppCompatActivity {
 @Override protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.activity_main);

 // 获取数据 String value = getIntent().getStringExtra("key");

 // 显示数据 Toast.makeText(this, value, Toast.LENGTH_SHORT).show();
 }
}


####说明:

* 在上面的示例代码中,我们首先创建一个Bundle,然后将数据添加到Bundle中。
* 接着,我们启动Activity,Activity就会显示我们传递给Bundle的数据。

### 总结在本文中,我们讨论了Android编程中的基本概念和API。我们学习了如何使用ListView、RecyclerView、Fragment等控件来显示数据,以及如何使用Intent和Bundle来传递数据。这些知识对于构建一个完整的Android应用程序是必不可少的。

### 最后希望本文能够帮助你更好地理解Android编程中的基本概念和API。如果你有任何问题或疑问,请随时在评论区留言,我们将尽快回复。

相关标签:android
其他信息

其他资源

Top