Android基础知识(一)

此篇文章开始逐步记录一些Android开发的一些相关知识。本文主要讲了一些adb的常用指令,Toast的常规使用,Intent的显式启动活动,按钮点击事件的四种处理方法,一些常见布局。

1. ADB常用指令

Android Debug Bridge adb android调试桥

  • adb start-server :开启adb服务

  • adb kill-server :杀死adb服务

  • adb uninstall + 包名 :卸载应用

  • adb install + apk所在的路径(包括应用名) :安装应用

  • adb push + pc文件路径 + android设备的路径 :把电脑上的文件推到设备上

  • adb pull 设备上文件的路径 pc保存文件的路径 :把android设备上的文件保存到电脑上

  • adb shell :可以进入到linux命令行,执行linux命令

  • ls :列出所有文件

  • cd :进入到某个文件夹

  • rm : 删除文件

  • cat :显示文件内容

  • mkdir :创建目录

2. Toast应用

Toast.makeText向界面输出一个短暂提示

  • 第一个参数:上下文context Activity就是一个上下文,可以传入Activity.this
  • 第二个参数:要显示的提示文字
  • 第三个参数:显示提示的时间长度(Toast.LENGTH_SHORT和Toast.LENGTH_LONG),其实也就是0和1。

最后调用show()方法显示出来

3. intent启动活动

Intent 意图,就是对要进行的操作的抽象描述

Intent intent = new Intent();

给意图设置要操作的动作,比如打电话

intent.setAction(Intent.ACTION_CALL);

给意图设置要携带的数据

  • URL 统一资源定位符,不可自定义协议
  • URI 统一资源标识符,可以自定义协议
Uri data = Uri.parse("tel:" + number);
intent.setData(data);

启动活动

startActivity(intent);

4. 点击事件实现的四种方式

  1. 通过内部类

    ···
    MyOnClickListener listener = new MyOnClickListener();
    button.setOnClickListener(listener);
    ···
    private class MyOnClickListener implements OnClickListener{@Overridepublic void onClick(View v) {//点击事件的逻辑实现}
    }
    ···
  2. 通过匿名内部类

    ···
    button.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {//点击事件的逻辑实现}
    }
    ···
  3. activity实现接口

    public class MainActivity extends Activity implements OnClickListener {
    ···
    @Override
    protected void onCreate(Bundle savedInstanceState) {
    ···button.setOnClickListener(this);
    ···
    }
    ···
    @Override
    public void onClick(View v) {//点击事件的逻辑实现
    }
    ···
  4. 布局文件添加onclick属性(尽量避免使用,会导致不易阅读)

    xml代码
    ···
    <Button
        android:layout_width="wrap_content"android:layout_height="wrap_content"android:onClick="click"android:text="button" />
    ···
    java代码
    ···
    public void click(View v){//点击事件的逻辑实现
    }
    ···

5. Android五大布局

在Android开发中,经常和布局打交道,用的最多的就是LinearLayout和RelativeLayout,AbsoluteLayout除了一些特定的Android TV开发,也没见在哪里用到过了,属于已经舍弃的方法。

LinearLayout:线性布局

  • orientation=”horizontal/vertical”

RelativeLayout:相对布局

  • layout_below=”@id/xxx”
  • layout_toRightOf=”@id/xxx”
  • layout_toLeftOf=”@id/xxx”
  • ···

FrameLayout:帧布局

  • layout_gravity

TableLayout:表格布局

  • <TableRow>···</TableRow>

AbsoluteLayout:绝对布局

  • layout_x=”?dp”
  • layout_y=”?dp”

以上属于个人体验心得总结,若有不足之处,还望不吝赐教,欢迎批评指正,共同进步

转载于:https://www.cnblogs.com/cj5785/p/9892980.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/251266.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android 6.0 动态权限申请

1. 概述 Android 6.0 (API 23) 之前应用的权限在安装时全部授予&#xff0c;运行时应用不再需要询问用户。在 Android 6.0 或更高版本对权限进行了分类&#xff0c;对某些涉及到用户隐私的权限可在运行时根据用户的需要动态授予。这样就不需要在安装时被强迫同意某些权限。 2. …

el-input输入金额,保留两位小数

需求&#xff1a;“只允许输入金额保留两位小数”&#xff0c;有2种实现方法 方法一&#xff08;通过正则控制&#xff09;&#xff1a; html&#xff1a; <el-inputv-model"inputTable.amount"input"formatNum(form.amount, amount)" ></el-i…

jquery --- pip方法

我们先来看下面一个例子: var getPromise $.get(/query); getPromise.done(function(data) {var postPromise $.post(/search, data); }); // ...无法在此处给postPromise方法附加处理器// 上面先使用get方法读取url为query的数据,在完成后,再使用post方法将数据发送给另一个…

斜率DP总结

chunlvxiong的博客 T1&#xff1a;防御准备 三个月后第一次写博客&#xff0c;我们从这个题开始&#xff1a;http://www.lydsy.com/JudgeOnline/problem.php?id3156。 这道题DP方程比较好写&#xff1a;用dp[i]表示1到i全部被控制的最小代价&#xff0c;那么dp[i]min{dp[j](i-…

前端使用react-intl-universal进行国际化

一、国际化 / i18n 目前国际化&#xff0c;就是开发者写对象&#xff0c;一个key关联若干语种的翻译。相比于浏览器自带的翻译功能&#xff0c;语义更加准确。 “国际化”的简称&#xff1a;i18n&#xff08;其来源是英文单词 internationalization的首末字符i和n&#xff0c;…

守护线程Daemon的理解

1、守护线程伴随着主线程的销毁而销毁&#xff1b; 2、jvm虚拟机中有很多守护线程&#xff0c;随着main函数的结束而结束&#xff0c;自动回收栈中的内容。 Thread t1 new Thread(){Overridepublic void run() {for (int i 0; i < 10; i) {try {Thread.sleep(1000);} catc…

javascript --- 异步函数的顺序进行

假设我们希望某一组异步函数能一次进行,在不使用的任何工具的情况下,可能会编写出类似下面的代码: funcs[0](function() {funcs[1](function() {funcs[2](onComplete);}) });// 注:以上代码运行会出现的一些不方便: // 1.回调太深,不利于阅读..(100层嵌套...); // 2.不能使用循…

2021前端面试题

基础知识与素养 JS基本功训练与思考 程序设计的渗透与应用 业务技巧的积累与训练 生产力转换 项目的组织架构 转换专业人才的全面生产力 什么样的技术水平决定了你应该学习什么样的知识与技术&#xff0c;什么样的知识与技术水平决定了你到什么样的公司&#xff0c;到什么样的公…

JS的自定义事件(观察者模式)

1      var Event {2 on: function (eventName, callback) {3 console.log("eventName:"eventName)4 if (!this.handles) {5 Object.defineProperty(this, "handles", {6 …

glog日志库使用笔记

日志能方便地诊断程序原因、统计程序运行数据&#xff0c;是大型软件系统必不可少的组件之一。glog 是google的开源日志系统&#xff0c;相比较log4系列的日志系统&#xff0c;它更加轻巧灵活。 在Github上下载glog&#xff0c;解压后用CMake生成VS2017工程&#xff08;默认生成…

javascript --- 异步工作流的动态排队技术

很多情况下,使用async.series和async.paralle存在一个明显的问题,即: 1.其任务队列是静态的,在其调用前,一定要明确任务队列的数量,一旦明确了任务队列的数量,就不能改变. 2.倘如要同时并发读取上千个文件,使用async.paralle明显不可能(各线程抢资源,根本不够用),使用async.ser…

java中的内部类总结

内部类不是很好理解&#xff0c;但说白了其实也就是一个类中还包含着另外一个类 如同一个人是由大脑、肢体、器官等身体结果组成&#xff0c;而内部类相当于其中的某个器官之一&#xff0c;例如心脏&#xff1a;它也有自己的属性和行为&#xff08;血液、跳动&#xff09; 显然…

elementPlus关闭弹窗,页面原先滚动条消失

一开始以为是弹窗内容超过一屏引起&#xff0c;改为一屏内也不能解决。 打开控制台&#xff0c;发现弹窗后自动给body标签加上了类el-popup-parent–hidden&#xff0c;关闭后也没去除&#xff0c;因此手动删除该类。 document.getElementsByTagName(body)[0].className ;

在Windows下如何创建虚拟环境(默认情况下)

很多小伙伴平时在使用Python的时候&#xff0c;有的项目需要使用Python2来进行开发&#xff0c;有的项目则是需要Python3来进行开发。当不清楚怎么分开环境的时候&#xff0c;此时两个环境开始打架&#xff0c;彼此傻傻分不清楚。虚拟环境作为隔离的利器应运而生&#xff0c;其…

javascript --- 隐藏内部实现(最小暴露原则)

看下面的一个例子: function doSomething(a) {b a doSomethingElse( a * 2 );console.log( b * 3 ); }function doSomethingElse(a) {return a - 1; }var b;doSomething( 2 ) ; // 15上述代码中的doSomethingElse实际上应该是doSomething的"私有"部分,根据最小暴露…

selenium python 入门-元素定位

环境搭建 安装教程 http://www.testclass.net/selenium_python/install-selenium/ chrome浏览器 还需要下载chrome driver 把下载的chromedriver .exe放到chrome安装目录下的Application目录下和 python所在的安装目录下&#xff0c;比如我的目录是C:\Program Files (x86)\Goog…

ES5程序设计转ES6 笔记

课程链接 1. 立即执行函数 特点&#xff1a;执行结束&#xff0c;立即销毁&#xff1b;独立作用域执行符号&#xff08;&#xff09;只能跟在表达式后面&#xff0c;不能放在函数声明后分号可以写在前面/后面document为传入实参&#xff0c;doc为形参 ;(function(doc){...co…

DPDK helloworld 源码阅读

在 DPDK Programmers Guides 中的 EAL 一篇中有一个图可以很清晰地看到一个DPDK的应用程序的大致执行思路&#xff1a; 初始化检查CPU支持、微架构配置等完成后&#xff0c;执行main()函数。 第一步是 rte_eal_init()&#xff0c;核心初始化和启动。其中线程使用的是pthread库&…

javascript --- 作用域和闭包

执行环境: // 定义了变量或函数有权访问的其他数据,决定了它们各自的行为 // 每个执行环境都有一个变量对象与之对应,执行环境中所定义的所有变量和函数都保存在变量对象中 // 某个执行环境中的所有代码执行完毕后,该执行环境被销毁,保存在其中的所有变量和函数定义也随之销毁…

异步下载圆形进度条显示进度

圆形进度条参考链接即可&#xff1a;使用css3实现圆形进度条 需求点击下载后遮罩层显示下载进度&#xff1a; 1.圆形进度条参考以上链接&#xff0c;有点小瑕疵&#xff0c;可更改定位距离实现重合。 2.遮罩层&#xff1a; .lbOverlay{display: none;position: fixed;left: 0;…