# android-samples **Repository Path**: mudking/android-samples ## Basic Information - **Project Name**: android-samples - **Description**: Android开发的一些示例代码. 基于Android Studio + Android SDK. - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-03-31 - **Last Updated**: 2024-02-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 安卓基本功能演示01 几年前基于Eclipse + ADT 写过一些安卓开发例子. 现在都很难运行了.使用android studio基于以前的例子重新写一遍, 用主流安卓SDK重构和梳理. ## 开发环境 Android Studio Bumblebee 2021.1.1 Android SDK API 26(对应android 8.0) Gradle 7.1.2 (gradle版本如果太低,android studio会自动提示你升级, 确认即可,升级后需要注意有些配置可能过期了.) ## 项目结构: 整个项目看做一个解决方案. 里面会有多个子模块.每个子模块都是一个独立的app源码.唯一共用的只有外层的gradle相关文件. --app 基本概念练习.hello world. | -- ## 按钮事件. 参考MainActivity中按钮绑定的事件注册. ## 窗口传值. 参考com.example.demo01_hello_world.MainActivity.sendMessage ## 消息提示 Toast.makeText(CurrentActivity.this, "请输入正确的号码", Toast.LENGTH_LONG) .show(); ## 拨打电话. 参考DialActivity. 打电话本身只要执行一个Intent即可.但是权限很麻烦. ## app的偏好设置存储(一些简单的app全局参数的存储). getSharedPreferences() 参考: com.example.demo01_hello_world.DisplayMessageActivity.init 如果只存储当前activity的数据,则可以使用getPreferences ## 安卓布局 https://www.cnblogs.com/luoaz/p/3719767.html ## LinearLayout 线性布局 layout/activity_dial.xml android:orientation="vertical" 指定内容垂直排列 gravity 指定 LinearLayout以什么方式根据x,y轴摆放内容. 可以用的属性有:top、bottom、left、right、center_vertical、fill_vertical、center_horizontal、fill_horizontal、center、fill、clip_vertical、clip_horizontal、start、end。 ,如果是多个则用'|'隔开。 如:指定android:gravity="center_horizontal",让内容根据x轴居中摆放. ## RelativeLayout 相对布局 ## androidx.constraintlayout.widget.ConstraintLayout 新版本的约束布局. ## CardView 卡片式布局 ## 权限声明 在AndroidManifest.xml配置app需要使用的权限.程序中使用到时会自动向用户确认. 如果没有权限则会报错 java.lang.SecurityException: Permission Denial. 如果要请求权限, 则参考dialActivity的代码和笔记. Manifest.permission 这个枚举中包含可请求的权限. ```xml ```