1. 案例一:创建第一个Android应用

简介

在这个案例中,我们将从零开始创建一个简单的Android应用,这个应用将展示如何在Android Studio中创建项目、编写代码以及运行应用。

步骤

  1. 打开Android Studio,创建一个新的项目。
  2. 选择“Empty Activity”模板,并设置应用名称、包名等信息。
  3. 在主Activity中,添加一个按钮和一个文本视图。
  4. 编写按钮的点击事件,使其在文本视图中显示“Hello, World!”。

代码示例

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

        Button button = findViewById(R.id.button);
        TextView textView = findViewById(R.id.textView);

        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                textView.setText("Hello, World!");
            }
        });
    }
}

2. 案例二:布局文件的使用

简介

在这个案例中,我们将学习如何使用XML布局文件来设计Android应用的用户界面。

步骤

  1. 在项目的res/layout目录下创建一个新的布局文件。
  2. 在布局文件中,使用XML标签添加各种控件,如按钮、文本视图、布局容器等。
  3. 在Activity中,通过findViewById方法获取布局文件中的控件。

代码示例

<!-- res/layout/activity_main.xml -->
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <Button
        android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="点击我" />

    <TextView
        android:id="@+id/textView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/button"
        android:layout_centerHorizontal="true"
        android:text="Hello, World!" />
</RelativeLayout>

3. 案例三:Intent的使用

简介

在这个案例中,我们将学习如何使用Intent在不同Activity之间进行跳转。

步骤

  1. 创建一个新的Activity类。
  2. 在主Activity中,添加一个按钮,并设置点击事件。
  3. 在点击事件中,创建一个Intent对象,并启动新的Activity。

代码示例

// MainActivity.java
button.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        Intent intent = new Intent(MainActivity.this, SecondActivity.class);
        startActivity(intent);
    }
});

4. 案例四:使用SharedPreferences存储数据

简介

在这个案例中,我们将学习如何使用SharedPreferences来存储和读取应用数据。

步骤

  1. 在主Activity中,添加一个按钮和一个文本视图。
  2. 在按钮的点击事件中,使用SharedPreferences存储数据。
  3. 在文本视图中,读取SharedPreferences中的数据并显示。

代码示例

// MainActivity.java
SharedPreferences sharedPreferences = getSharedPreferences("MyPrefs", MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString("name", "张三");
editor.apply();

String name = sharedPreferences.getString("name", "");
textView.setText(name);

5. 案例五:使用数据库存储数据

简介

在这个案例中,我们将学习如何使用SQLite数据库来存储和查询数据。

步骤

  1. 创建一个新的数据库类,继承自SQLiteOpenHelper。
  2. 在数据库类中,定义创建数据库、更新数据库和查询数据的SQL语句。
  3. 在主Activity中,使用数据库类创建数据库、插入数据、查询数据。

代码示例

// DBHelper.java
public class DBHelper extends SQLiteOpenHelper {
    private static final String DATABASE_NAME = "MyDatabase.db";
    private static final int DATABASE_VERSION = 1;

    public DBHelper(Context context) {
        super(context, DATABASE_NAME, null, DATABASE_VERSION);
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL("CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY, name TEXT)");
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        db.execSQL("DROP TABLE IF EXISTS users");
        onCreate(db);
    }
}

6. 案例六:使用RecyclerView展示数据

简介

在这个案例中,我们将学习如何使用RecyclerView来展示列表数据。

步骤

  1. 在布局文件中,添加一个RecyclerView控件。
  2. 创建一个适配器类,继承自RecyclerView.Adapter。
  3. 在适配器类中,定义布局文件和绑定数据的方法。
  4. 在主Activity中,初始化RecyclerView控件,并设置适配器。

代码示例

// MyAdapter.java
public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder> {
    private List<String> mData;

    public MyAdapter(List<String> data) {
        mData = data;
    }

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

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

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

    public static class ViewHolder extends RecyclerView.ViewHolder {
        TextView textView;

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

7. 案例七:使用网络请求获取数据

简介

在这个案例中,我们将学习如何使用网络请求获取数据。

步骤

  1. 在主Activity中,添加一个按钮和一个文本视图。
  2. 在按钮的点击事件中,使用HttpURLConnection或OkHttp库发送网络请求。
  3. 将获取到的数据解析成JSON格式,并显示在文本视图中。

代码示例

// MainActivity.java
button.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        String url = "http://example.com/data.json";
        HttpURLConnection connection = (HttpURLConnection) new URL(url).openConnection();
        BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
        StringBuilder response = new StringBuilder();
        String line;
        while ((line = reader.readLine()) != null) {
            response.append(line);
        }
        reader.close();
        textView.setText(response.toString());
    }
});

8. 案例八:使用Fragment管理界面

简介

在这个案例中,我们将学习如何使用Fragment来管理界面。

步骤

  1. 创建一个新的Fragment类,继承自Fragment。
  2. 在Fragment中,定义布局文件和UI控件。
  3. 在主Activity中,添加一个FrameLayout控件,并使用FragmentTransaction添加Fragment。

代码示例

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

9. 案例九:使用Service后台执行任务

简介

在这个案例中,我们将学习如何使用Service在后台执行任务。

步骤

  1. 创建一个新的Service类,继承自Service。
  2. 在Service中,重写onStartCommand方法,执行后台任务。
  3. 在主Activity中,启动Service。

代码示例

// MyService.java
public class MyService extends Service {
    @Override
    public int onStartCommand(Intent intent, int flags, int startId) {
        // 执行后台任务
        return START_STICKY;
    }

    @Nullable
    @Override
    public IBinder onBind(Intent intent) {
        return null;
    }
}

10. 案例十:使用BroadcastReceiver接收系统通知

简介

在这个案例中,我们将学习如何使用BroadcastReceiver接收系统通知。

步骤

  1. 创建一个新的BroadcastReceiver类,继承自BroadcastReceiver。
  2. 在BroadcastReceiver中,重写onReceive方法,处理系统通知。
  3. 在主Activity中,注册BroadcastReceiver,并设置IntentFilter。

代码示例

// MyReceiver.java
public class MyReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        // 处理系统通知
    }
}

通过以上10个实战案例,相信你已经对Android编程有了初步的了解。接下来,你可以根据自己的兴趣和需求,继续深入学习Android开发相关知识。祝你学习愉快!