Android study week1

本文详细介绍了一个初学者如何从零开始进行Android应用开发的过程,包括开发环境的搭建、基本组件的使用、页面间的跳转及数据传递等核心内容。

前言

  • 对于自己而言,大学4年马上结束,玩了3年半,在快毕业的时候才发觉#¥@*&……,我真是日了狗了。可惜没有时光机能回到以前,这是一门需要花费大量时间与精力才能有所精通的学科,并且还没那么有趣,特别是当你遇到一些莫名其妙的问题时,很容易感到气馁。但是年轻人呐,鉴于我国还处在社会主义初级阶段的基本国情,一技傍身还是很重要的。万事开头难,相信大家在刚开始学的时候都会有无所适从的时候,但是好在知道有人和你在一起学,他们也许也会碰到更多的问题,瞬间就欣慰多了。不过那些自己费力解决的BUG,和为解决BUG所付出的数不清的查克拉,将会塑造一个独立自主的人格。而这个独立的人却耻于独享收获的喜悦,而是将自己的知识和别人分享交流。尽管知道人都是孤独的这一事实,却还是不懈地寻求着一个互相理解的瞬间!

博客工具

  • 写博客的时候对格式有一定要求,需要学会使用markdown语法
    客户端:MarkDownPad2 http://markdownpad.com/
  • 但是 markdownpad2的win10版本预览界面会崩溃,还要下载一个插件安装在markdownpad2的安装目录下就能正常使用了,下载地址:
    周自横的回答https://www.zhihu.com/question/34393386
  • 此外推荐一个生成图片外链的神奇网站:https://sm.ms/

以下是一些markdown语法示例
a3.jpg

项目版本备份更新

1.GITHUB:https://github.com
2.git客户端SourceTree:https://www.sourcetreeapp.com

搭建环境

  • 环境:JDK + Android SDK(配置环境变量)
  • 开发工具:Android Studio+Genymotion

一些最基础的建工程流程大致如下:

1. 新建工程

2. 新建页面(Activity)

3. 新建布局(Layout)

4. 新建控件(TextView,Button,ImageView,EditText…)

 <TextView
    android:layout_width="150dp"宽
    android:layout_height="50dp"高
    android:textSize="20sp"文字大小
    android:gravity="center_horizontal"水平居中
    android:maxLines="2"最大显示行数
    android:textColor="@color/white"文字颜色
    android:background="@color/blue"文本背景色
    android:text="@string/hello" />文字内容
    <!--android:singleLine="false"-->`是否显示单行



   Button是TextView的子类
   <Button
    android:layout_width="match_parent"扩展至父元素大小,有可能覆盖其他元素
    android:layout_height="wrap_content"自适应,根据文本大小改变
    android:text="你瞅啥?"
    android:id="@+id/button_first"设置控件id,以便于引用findViewById
    android:layout_gravity="center_vertical" />`垂直居中    



 <ImageView 图片
    android:layout_width="150dp" background图片的宽度
    android:layout_height="250dp"
    android:background="@drawable/douniwan"
    android:src="@drawable/ic_launcher" src将显示在background之上
    android:scaleType="fitStart" src在background之上的显示方式
    android:id="@+id/imageView" />`



<SeekBar 滑动条
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/seekBar" />`



<EditText 输入框
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:inputType="textEmailAddress"文本限定为邮件地址
    android:text="123466"
    android:ems="10"
    android:id="@+id/editText" />`

效果:
b1.PNG

5. 新建点击事件(OnClickListener)

  • 点击弹出文本弹窗
     findViewById(R.id.button_first).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //当被点击时弹出的消息
                Toast.makeText(MainActivity.this, "自c爆!", Toast.LENGTH_LONG).show();
            }
        });

Toast.show()是一种显示弹窗的方法,Toast.LENGTH_LONG表示显示时间1秒钟。

  • 点击跳转页面

    findViewById(R.id.button_forth).setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            //返回启动页
            Intent intent = new Intent(MainActivity.this, SplashActivity.class);
            startActivity(intent);
        }
    });
    
  • 启动页面延时自动跳转

        Handler mHandler = new Handler();
        mHandler.postDelayed(new Runnable() {
        @Override
        public void run() {
            //跳转到MainActivity
            Intent intent = new Intent(SplashActivity.this,MainActivity.class);
            startActivity(intent); 
        }
    },1000);
    

    }

  • 如果我们需要在跳转页面的同时传递字符串

     //1.先取得启动页SplashActivity的TextView的文本内容
        mTextView = (TextView) findViewById(R.id.title_text_view);
        final String title = mTextView.getText().toString();
        //并且在mHandler.postDelayed方法中加入
        intent.putExtra(TITLE,title);
        //2.然后MainActivity界面获取内容并显示在ActionBar部分
        Intent intent = getIntent();
        if(intent != null){
            //此时ActionBar上显示的就是启动页TextView的内容
            String title = intent.getStringExtra(SplashActivity.TITLE);
            setTitle(title);
           //若title是一个User类的对象
           User title = (User) intent.getSerializableExtra(SplashActivity.USER);
           setTitle(User.getTitle);
        }
     //如果想传递自定义字符串,只要先声明其内容
     public static final String TopInfo = "这是自定义内容";
       //然后将上面第2步if()里内容改成
        String ZiDingYi = intent.getStringExtra(SplashActivity.TITLE);
        setTitle(ZiDingYi);`

以下是ActionBar上的显示效果
b3.PNG

  • 如果要在主页点击按钮后返回启动页并传入字符串

//1.要在mHandler.postDelayed()方法中加入

 StartActivityForResult(intent,REQUEST_CODE)

//2.分别在MainActivity中定义

  public static final int RESULT_CODE = 1234;     

在SplashActivity中定义

  public static final int RESULT_CODE = 9999;       

//3.在MainActivity中添加点击事

findViewById(R.id.button_third).setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent intent = new Intent(MainActivity.this,SplashActivity.class);
            intent.putExtra(SplashActivity.TITLE,"这是传回的字符串");
            setResult(RESULT_CODE,intent);
            finish();
        }
    });

//4.然后在SplashActivity中新建一个设置接收内容的方法

   @Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if(requestCode == REQUEST_CODE && resultCode == MainActivity.RESULT_CODE){
        if(data != null){
            String title = data.getStringExtra(TITLE);
            mTextView.setText(title);
        }
    }
}

原启动页面与传值后的页面
b2.PNG b4.PNG

6. 签名
app项目写好之后,要生成一个签名过的APK文件,才能被使用
步骤:
a4.jpg

a0.png

7. 打包

8. 发布

上文均为个人观点,欢迎大家讨论交流
作者:[你连野区的一条狗都不如]
作者邮箱:[614475386@qq.com]
作者微博(从不更新):[900lee@sina.cn]
关于转载:欢迎转载,但未经作者同意,必须在文章中给出原文连接。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值