1. Android基础入门

1.1 安装Android Studio

  • 主题句:Android Studio是Android开发的主要IDE,安装它需要遵循以下步骤。
  • 步骤
    1. 访问Android Studio官网下载最新版本。
    2. 运行安装程序,并按照提示完成安装。
    3. 安装完成后,打开Android Studio并配置SDK。

1.2 创建第一个Android应用

  • 主题句:创建一个简单的Android应用是学习编程的基础。
  • 步骤
    1. 打开Android Studio,选择“Start a new Android Studio project”。
    2. 选择“Empty Activity”模板。
    3. 输入应用名称、保存位置等信息,点击“Finish”。

2. UI组件

2.1 TextView和Button

  • 主题句:TextView和Button是Android中最基本的UI组件。
  • 代码示例: “`java TextView textView = new TextView(this); textView.setText(“Hello, Android!”); textView.setTextSize(24);

Button button = new Button(this); button.setText(“Click Me!”); button.setOnClickListener(new View.OnClickListener() {

  @Override
  public void onClick(View v) {
      Toast.makeText(MainActivity.this, "Button Clicked!", Toast.LENGTH_SHORT).show();
  }

});


### 2.2 Layouts

- **主题句**:布局是Android应用UI的基础。
- **代码示例**:
  ```xml
  <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:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:text="Hello, Android!"/>
      
      <Button
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:text="Click Me!"/>
      
  </LinearLayout>

3. 数据存储

3.1 SharedPreferences

  • 主题句:SharedPreferences是Android中用于存储简单数据的常用方式。
  • 代码示例
    
    SharedPreferences sharedPreferences = getSharedPreferences("MyPrefs", MODE_PRIVATE);
    SharedPreferences.Editor editor = sharedPreferences.edit();
    editor.putString("name", "John Doe");
    editor.apply();
    

3.2 SQLite数据库

  • 主题句:SQLite是Android中用于存储复杂数据的常用方式。
  • 代码示例
    
    SQLiteDatabase database = openOrCreateDatabase("mydatabase.db", MODE_PRIVATE, null);
    database.execSQL("CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY, name TEXT)");
    ContentValues values = new ContentValues();
    values.put("name", "John Doe");
    database.insert("users", null, values);
    

4. 异步编程

4.1 AsyncTask

  • 主题句:AsyncTask是Android中用于异步任务的传统方式。

  • 代码示例: “`java private class MyAsyncTask extends AsyncTask { @Override protected String doInBackground(Void… params) {

      // Perform background task
      return "Background Task Completed";
    

    }

    @Override protected void onPostExecute(String result) {

      // Update UI
      textView.setText(result);
    

    } }

new MyAsyncTask().execute();


### 4.2 Kotlin Coroutines

- **主题句**:Kotlin Coroutines是现代Android开发中用于异步编程的新方式。
- **代码示例**:
  ```kotlin
  GlobalScope.launch {
      val result = withContext(Dispatchers.IO) {
          // Perform background task
          "Background Task Completed"
      }
      textView.setText(result)
  }

5. 网络编程

5.1 使用HttpURLConnection

  • 主题句:HttpURLConnection是Android中用于网络请求的传统方式。
  • 代码示例
    
    HttpURLConnection connection = (HttpURLConnection) url.openConnection();
    connection.setRequestMethod("GET");
    BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
    StringBuilder response = new StringBuilder();
    String line;
    while ((line = reader.readLine()) != null) {
      response.append(line);
    }
    reader.close();
    

5.2 使用Retrofit

  • 主题句:Retrofit是现代Android开发中用于网络请求的流行库。
  • 代码示例: “`java Retrofit retrofit = new Retrofit.Builder() .baseUrl(”https://api.example.com/”) .addConverterFactory(GsonConverterFactory.create()) .build();

MyApi myApi = retrofit.create(MyApi.class); Call call = myApi.getMyData(); call.enqueue(new Callback() {

  @Override
  public void onResponse(Call<MyApiResponse> call, Response<MyApiResponse> response) {
      if (response.isSuccessful()) {
          MyApiResponse myApiResponse = response.body();
          // Update UI
      }
  }

  @Override
  public void onFailure(Call<MyApiResponse> call, Throwable t) {
      // Handle error
  }

});


## 6. 权限管理

### 6.1 动态权限请求

- **主题句**:从Android 6.0开始,动态权限请求成为必须。
- **代码示例**:
  ```java
  if (ContextCompat.checkSelfPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
      ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.READ_EXTERNAL_STORAGE}, 0);
  } else {
      // Permission has already been granted
  }

6.2 运行时权限处理

  • 主题句:正确处理运行时权限请求是Android应用的关键。
  • 代码示例
    
    @Override
    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
      if (requestCode == 0) {
          if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
              // Permission was granted
          } else {
              // Permission was denied
          }
      }
    }
    

7. 其他重要概念

7.1 Intent

  • 主题句:Intent是Android中用于组件间通信的方式。
  • 代码示例
    
    Intent intent = new Intent(this, SecondActivity.class);
    startActivity(intent);
    

7.2 Service

  • 主题句:Service是Android中用于在后台执行任务的组件。
  • 代码示例
    
    Intent intent = new Intent(this, MyService.class);
    startService(intent);
    

7.3 BroadcastReceiver

  • 主题句:BroadcastReceiver是Android中用于接收系统广播的方式。
  • 代码示例
    
    IntentFilter filter = new IntentFilter(Intent.ACTION_BATTERY_LOW);
    registerReceiver(myReceiver, filter);
    

8. 总结

  • 主题句:通过以上50个实用实例,我们可以深入理解Android编程的核心概念。
  • 内容
    • Android基础入门
    • UI组件
    • 数据存储
    • 异步编程
    • 网络编程
    • 权限管理
    • 其他重要概念

通过学习和实践这些实例,你可以逐步提升自己的Android编程技能,为成为一名优秀的Android开发者打下坚实的基础。