Android studio 学习开发心得

背景

Android Studio是由Google开发的一个Android应用程序开发环境,它基于IntelliJ IDEA,专门用于Android应用程序的开发。使用Android Studio,开发人员可以轻松创建Android应用程序,包括手持设备、平板电脑、Android TV、Android Auto和Android Wear等。 Android Studio提供了一系列的开发工具和功能,例如代码编辑器、虚拟设备管理器、测试工具、调试工具、版本控制和构建工具,使开发人员能够更加高效地进行Android应用程序的开发。

存在的问题
由于手机 与互联网的紧密联系,个人隐私很难得到保守。除了上网过程中经意或不经意留下的个人足迹,Google这个巨人也时时站在你的身后,洞穿一切,因此,互联网的深入将会带来新一轮的隐私危机。

项目运行调试

我们可以通过代码的形式实现我们想的到的效果有没有实现,可以通过这些实现代码的调试

通过log.v 输出沉余信息

通过log.d 输出调试信息

通过log.i 输出普通信息

通过log.w 输出警告信息

通过log.e 输出错误信息

 通过样式构造页面

在layout设置属性

android:txt 设置文本内容

android:textColor 设置文本颜色

android:textSize 设置文本大小

android:textAppearance 设置文本样式

android:gravity设置文本对齐方式

android:singleLine 设置文本单行显示

android:ellipsize 设置文本超出范围的省略方式

android:focusable 设置是否获得焦点

android:textStyle 设置字体风格如:bold 粗体 italic 斜体

android:shadowColor 指定文本阴影的颜色

android:shadowRadius 阴影的半径

android:shadowDx 阴影横坐标

android:shadowDy 阴影的纵坐标

通过学习我学会了翻页类组件的使用

 View pager 翻页视图控件的基础属性和方法

setAdapter 设置页面项的适配器,pageradapter及其子类

setCurrentitem 设定当前页面

addOnPageChangeListener 设置页面翻页视图的页面切换监听器

onPageScrollStateChanged 页面滑动状态变化时触发

onPageScrolled 页面滑动过程中触发

onPageSelected 选中页面时,滑动结束时触发

实现一个登录页面

实现一个登录

package com.example.myqq;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {
    private  static final  String TAG = "MainActivity";
    private EditText qqUsername,qqPassword;
    private Button qqLoginBtn;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.qqlogin_actuvuty);
        Intent intent = new Intent(MainActivity.this(从哪里来), MainActivity.class(到哪里去));  // 定义了从哪来到哪去
//        startActivity(intent);
        init_reiource();

        qqLoginBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
               String username = qqUsername.getText().toString();
                String password = qqPassword.getText().toString();
                Log.d(TAG,"username:"+ username);
                Log.d(TAG, "password:" +password);
                if (username.equals("admin")&&password.equals("123")){
                    Toast.makeText(MainActivity.this, "密码正确", Toast.LENGTH_SHORT).show();
                }else {
                    Toast.makeText(MainActivity.this, "密码错误", Toast.LENGTH_SHORT).show();

                }

            }
        });
    }

    private void init_reiource() {
        qqUsername = (EditText) findViewById(R.id.qqUsername);
        qqPassword = (EditText) findViewById(R.id.qqPassword);
        qqLoginBtn = (Button) findViewById(R.id.qqLoginBtn);
    }

}
package com.example.myqq;


import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;

import android.annotation.SuppressLint;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.widget.ProgressBar;
import android.widget.TextView;

import java.util.Random;

public class MainActivity2 extends AppCompatActivity {

    private ProgressBar pb1;
    private int start=0,maxprogress;
    private TextView mtext;

    private Handler mHandler=new Handler(){
        @Override
        public void handleMessage(@NonNull Message msg) {
            super.handleMessage(msg);
            switch (msg.what){
                case 0:
                    mtext.setText(start+" %");//更新进度
                    pb1.setProgress(start);break;
            }
        }
    };


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2);
        pb1= findViewById(R.id.progressBar);
        mtext = findViewById(R.id.tv_progress);
        maxprogress = pb1.getMax();

    }
    @Override
    protected   void onStart() {
        super.onStart();
        new Thread() {
            @Override
            public void run() {
                while (true) {
                    try {
                        Thread.sleep(500);//线程休眠0.5s
                        int a = new Random().nextInt(10);//产生一个10以内的随机数
                        start += a;
                        if(start >=100)start=100;


                        mHandler.sendEmptyMessage(0);//在安卓里。我们不能直接在线程中更新UI,这里用Handler消息处理
                        if (start >= maxprogress)//如果进程超过最大值
                            break;
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                }
            }
        }.start();
    }
}

layout的页面需要自己设计

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值