IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> 安卓学习笔记(一) -> 正文阅读

[移动开发]安卓学习笔记(一)

一、Activity、控件、布局
1.调? Toast 的 makeToast ?法显?快显消息Toast.makeText(MainActivity.this,string,Toast.LENGTH_SHORT).show();

2.约束布局的属性命名空间进?引?,均以 app 开头,?控件的对齐
xmlns:app="http://schemas.android.com/apk/res-auto"
例如:app:layout_constraintTop_toTopOf

3.AndroidManifest 配置清单?件新增 xxActivity 活动
<activity android:name=".xxActivity"></activity>

4.显式Intent ?式启动 xxActivity
MainActivity.java

 public static final String MESSAGE_STRING = "com.example.appdemo01.Message";

Intent intent = new Intent(MainActivity.this, xxActivity.class);
intent.putExtra(MESSAGE_STRING,s);
startActivity(intent);

xxActivity.java

Intent intent = getIntent();
String message = intent.getStringExtra(MainActivity.MESSAGE_STRING);

同时可获得MainActivity的string

5.旋转时,通过 Bundle 对象的putInt()可以保存 int 型的数值,onRestoreInstanceState ?法中恢复

private static final String COUNT_VALUE = "count_value";
private int count = 0;

@Override
    public void onSaveInstanceState(@NonNull Bundle outState) {
        outState.putInt(COUNT_VALUE,count);
        super.onSaveInstanceState(outState);
    }

    @Override
    protected void onRestoreInstanceState(@NonNull Bundle savedInstanceState) {
        super.onRestoreInstanceState(savedInstanceState);
        count = savedInstanceState.getInt(COUNT_VALUE);
        if (tvcount != null){
            tvcount.setText(Integer.toString(count));
        }
    }

6.输?类型进?切换需要在 Activity 活动中增加 ImageView 控件的 OnClickListener 事件侦听器并对 EditText 控件的 inputType 属性进?设置

ivPwdSwitch.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                bPwdSwitch = !bPwdSwitch;
                if (bPwdSwitch){
                    ivPwdSwitch.setImageResource(
                            R.drawable.ic_cannotsee
                    );
                    etPwd.setInputType(
                            InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD
                    );
                }else {
                    ivPwdSwitch.setImageResource(
                            R.drawable.ic_see
                    );
                    etPwd.setInputType(
                            InputType.TYPE_TEXT_VARIATION_PASSWORD |
                            InputType.TYPE_CLASS_TEXT
                    );
                    etPwd.setTypeface(Typeface.DEFAULT);
                }
            }
        });

7.使?getResources()得 到 Resources 对象,并通过该对象的getStringArray的?法获取 arrays.xml ?件中定义的字符串数组资源。

private String[] titles = null;
private String[] authors = null;
titles = getResources().getStringArray(R.array.titles);
authors = getResources().getStringArray(R.array.authors);

8.CardView 卡?容器实际上是另类的FrameLayout(帧布局)
导入依赖:

implementation 'androidx.cardview:cardview:1.0.0'

9.布局嵌入

xxsAdapter xxsAdapter = new xxAdapter(MainActivity.this,R.layout.待加载的xml布局,xxsList);
ListView lvNewsList = findViewById(R.id.lv_news_list(被加载的xml布局));
lvNewsList.setAdapter(newsAdapter);

xxsAdapter 类的构造器需要三个参数,分别为:
? Context context,context 上下??于 NewsAdapter 类中 加载布局时使?;
? int resourceId,?于设置 ListView 每个 Item 项时的布局;
? List data,?于传递 News 对象列表;
NewsAdapter 构造函数中?先调??类的构造?法,再将这三个参数保存
以便在 getView ?法中使?

public View getView(int position, View convertView, ViewGroup parent)
?于 ListView 显?某?位置 Item 时进?回调的?法。该
?法返回值为 Item 所需要加载的 View 控件。?该?法的的三个参数含义为:
? int position,当前 Item 对应的位置;
? View convertView,针对 ListView 中缓存的不可见的 Item 的 View 对
象;
? ViewGroup parent,需要加载的 View 的?容器对象;

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2021-08-29 09:28:21  更:2021-08-29 09:30:30 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 -2025/1/31 6:26:18-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码