Android编程作为移动开发领域的重要技能,已经吸引了无数开发者的目光。对于初学者来说,入门门槛并不高,但想要精通并解决实战中的难题,则需要大量的实践和经验积累。本文将为你提供100个实例,帮助你轻松破解实战难题,玩转移动开发。

实例一:Android项目搭建

首先,我们需要搭建一个Android项目。以下是一个简单的步骤:

// 创建一个新的Android项目
File projectPath = new File("E:\\AndroidStudioProjects\\MyFirstApp");
if (!projectPath.exists()) {
    projectPath.mkdirs();
}

// 创建AndroidManifest.xml文件
String manifestContent = "<manifest xmlns:android=\"http://schemas.android.com/apk/res/android\"\n" +
        "    package=\"com.example.myfirstapp\">\n" +
        "    <application\n" +
        "        android:allowBackup=\"true\"\n" +
        "        android:icon=\"@mipmap/ic_launcher\"\n" +
        "        android:label=\"@string/app_name\"\n" +
        "        android:roundIcon=\"@mipmap/ic_launcher_round\"\n" +
        "        android:supportsRtl=\"true\"\n" +
        "        android:theme=\"@style/Theme.MyFirstApp\">\n" +
        "        <activity android:name=\".MainActivity\">\n" +
        "            <intent-filter>\n" +
        "                <action android:name=\"android.intent.action.MAIN\" />\n" +
        "                <category android:name=\"android.intent.category.LAUNCHER\" />\n" +
        "            </intent-filter>\n" +
        "        </activity>\n" +
        "    </application>\n" +
        "</manifest>";

File manifestFile = new File(projectPath, "AndroidManifest.xml");
try {
    Files.write(manifestFile.toPath(), manifestContent.getBytes());
} catch (IOException e) {
    e.printStackTrace();
}

// 创建MainActivity.java文件
String mainActivityContent = "package com.example.myfirstapp;\n" +
        "\n" +
        "import android.os.Bundle;\n" +
        "import androidx.appcompat.app.AppCompatActivity;\n" +
        "\n" +
        "public class MainActivity extends AppCompatActivity {\n" +
        "    @Override\n" +
        "    protected void onCreate(Bundle savedInstanceState) {\n" +
        "        super.onCreate(savedInstanceState);\n" +
        "        setContentView(R.layout.activity_main);\n" +
        "    }\n" +
        "}";

File mainActivityFile = new File(projectPath, "src\\com\\example\\myfirstapp\\MainActivity.java");
try {
    Files.write(mainActivityFile.toPath(), mainActivityContent.getBytes());
} catch (IOException e) {
    e.printStackTrace();
}

实例二:布局文件设计

在Android开发中,布局文件是至关重要的。以下是一个简单的布局文件示例:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TextView
        android:id="@+id/textView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello World!"
        android:layout_centerInParent="true" />

</RelativeLayout>

实例三:数据存储

Android提供了多种数据存储方式,如SharedPreferences、SQLite数据库等。以下是一个使用SharedPreferences存储数据的示例:

SharedPreferences sharedPreferences = getSharedPreferences("MyPrefs", MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString("name", "张三");
editor.putInt("age", 20);
editor.apply();

实例四:网络请求

在Android开发中,网络请求是必不可少的。以下是一个使用OkHttp库进行网络请求的示例:

OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
        .url("https://www.example.com/api/data")
        .build();

client.newCall(request).enqueue(new Callback() {
    @Override
    public void onFailure(Call call, IOException e) {
        e.printStackTrace();
    }

    @Override
    public void onResponse(Call call, Response response) throws IOException {
        String responseData = response.body().string();
        // 处理响应数据
    }
});

实例五:权限申请

Android 6.0(API级别23)及以上版本,需要动态申请权限。以下是一个申请相机权限的示例:

if (ContextCompat.checkSelfPermission(this, Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) {
    ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.CAMERA}, 0);
} else {
    // 权限已授予,执行相关操作
}

实例六:自定义View

自定义View是Android开发中的高级技能。以下是一个简单的自定义View示例:

public class MyView extends View {
    public MyView(Context context) {
        super(context);
        // 初始化
    }

    @Override
    protected void onDraw(Canvas canvas) {
        super.onDraw(canvas);
        // 绘制
    }
}

实例七:事件分发

事件分发是Android开发中的核心技能。以下是一个简单的示例:

public class MyView extends View {
    private OnTouchListener onTouchListener = new OnTouchListener() {
        @Override
        public boolean onTouch(View v, MotionEvent event) {
            // 处理触摸事件
            return true;
        }
    };

    public MyView(Context context) {
        super(context);
        setOnTouchListener(onTouchListener);
    }
}

实例八:Fragment使用

Fragment是Android开发中的常用组件。以下是一个简单的Fragment示例:

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;
    }
}

实例九:Service使用

Service是Android开发中的后台任务组件。以下是一个简单的Service示例:

public class MyService extends Service {
    @Override
    public IBinder onBind(Intent intent) {
        return null;
    }

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

实例十:广播接收器

广播接收器是Android开发中的消息传递组件。以下是一个简单的广播接收器示例:

public class MyReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        // 处理广播消息
    }
}

总结

以上仅为100个实例中的一部分。通过学习这些实例,相信你已经对Android编程有了更深入的了解。在接下来的学习中,请不断实践,积累经验,相信你一定能成为一名优秀的Android开发者。祝你好运!