activity

AndroidManifest.xml配置文件详解

痴心易碎 提交于 2019-11-29 06:53:58
AndroidManifest.xml配置文件对于Android应用开发来说是非常重要的基础知识,本文旨在总结该配置文件中重点的用法,以便日后查阅。下面是一个标准的AndroidManifest.xml文件样例。 [html] view plain copy <? xml version = "1.0" encoding = "utf-8" ?> < manifest > <!-- 基本配置 --> < uses-permission /> < permission /> < permission-tree /> < permission-group /> < instrumentation /> < uses-sdk /> < uses-configuration /> < uses-feature /> < supports-screens /> < compatible-screens /> < supports-gl-texture /> <!-- 应用配置 --> < application > <!-- Activity 配置 --> < activity > < intent-filter > < action /> < category /> < data /> </ intent-filter > < meta-data /> </ activity > <

从setContentView()源码看起

試著忘記壹切 提交于 2019-11-29 06:36:40
2.1 Activity::setContentView() public void setContentView(@LayoutRes int layoutResID) { getWindow().setContentView(layoutResID); initWindowDecorActionBar(); } public Window getWindow() { return mWindow; } 1 2 3 4 5 6 7 2.2 mWindow的初始化是在Activity的attach方法中执行的。了解过Activity启动流程,我们知道:attach方法是在Activity启动流程中,ActivityThread::performLaunchActivity()方法中被调用的,是在Activity被创建后,完成初始化操作的。 //android.app.Activity#attach() final void attach(Context context, ActivityThread aThread, ... Window window ...) { ... //这里进行mWindow的初始化,可以看到Activity中的Window实现类是PhoneWindow, //目前为止,PhoneWindow也是Window的唯一实现类 mWindow = new

Android 开发习惯

▼魔方 西西 提交于 2019-11-29 06:27:07
Android编码规范 java代码中不出现中文,最多注释中可以出现中文; 局部变量命名、静态成员变量命名:只能包含字母,单词首字母出第一个都为大写,其他字母都为小写; 常量命名:只能包含字母和 ,字母全部大写,单词之间用 隔开; layout中的id命名:命名模式为:view缩写_模块名称_view的逻辑名称 view的缩写详情如下 LinearLayout:ll RelativeLayout:rl TextView:tv ImageView:iv ImageButton:ib Button:btn activity中的view变量命名 命名模式为:view缩写+逻辑名称 建议:如果layout文件很复杂,建议将layout分成多个模块,每个模块定义一个moduleViewHolder,其成员变量包含所属view strings.xml中的id命名: 命名模式:activity名称 功能模块名称 逻辑名称 activity名称 逻辑名称 common 逻辑名称 strings.xml中,使用activity名称注释,将文件内容区分开来 drawable中的图片命名 命名模式:activity名称 逻辑名称/common 逻辑名称 7.styles.xml:将layout中不断重现的style提炼出通用的style通用组件,放到styles.xml中; 使用layer

Android开发规范

雨燕双飞 提交于 2019-11-29 06:26:42
一、Android编码规范 1.java代码中不出现中文,最多注释中可以出现中文 2.局部变量命名、静态成员变量命名 只能包含字母,单词首字母出第一个外,都为大写,其他字母都为小写 3.常量命名 只能包含字母和_,字母全部大写,单词之间用_隔开 4.layout中的id命名 命名模式为:view缩写_模块名称_view的逻辑名称 view的缩写详情如下 LayoutView:lv RelativeView:rv TextView:tv ImageView:iv ImageButton:im Button:btn 5.activity中的view变量命名 命名模式为:逻辑名称+view缩写 建议:如果layout文件很复杂,建议将layout分成多个模块,每个模块定义一个moduleViewHolder,其成员变量包含所属view 6.strings.xml中的id命名 命名模式:activity名称_功能模块名称_逻辑名称/activity名称_逻辑名称/common_逻辑名称 strings.xml中,使用activity名称注释,将文件内容区分开来 7.drawable中的图片命名 命名模式:activity名称_逻辑名称/common_逻辑名称 8.styles.xml:将layout中不断重现的style提炼出通用的style通用组件,放到styles.xml中; 9

adb shell 命令大全

拟墨画扇 提交于 2019-11-29 04:53:27
文章目录 查看前台 Activity 调用 Activity 查看正在运行的 Services 调用 Service 发送广播 查看应用详细信息 查看应用列表 清除应用数据与缓存 查看屏幕分辨率 查看屏幕密度 屏幕截图 录制屏幕 查看前台 Activity adb shell dumpsys activity activities 或者 adb shell dumpsys activity top 调用 Activity adb shell am start com.android.launcher3/.Launcher 查看正在运行的 Services adb shell dumpsys activity services [<packagename>] 调用 Service adb shell am startservice [options] <INTENT> 发送广播 adb shell am broadcast -a android.intent.action.BOOT_COMPLETED action 触发时机 android.net.conn.CONNECTIVITY_CHANGE 网络连接发生变化 android.intent.action.SCREEN_ON 屏幕点亮 android.intent.action.SCREEN_OFF 屏幕熄灭 android

Android View事件分发源码分析

▼魔方 西西 提交于 2019-11-29 03:58:59
今天通过源码分析下Android事件分发机制,分别从Activity、ViewGroup、View进行分析 Activity的事件分发 当点击屏幕,MetionEvent.MOVE_DOWND的时候,首先会调用dispatchTouchEvent(),其源码如下: public boolean dispatchTouchEvent(MotionEvent ev) { if (ev.getAction() == MotionEvent.ACTION_DOWN) { onUserInteraction(); } if (getWindow().superDispatchTouchEvent(ev)) { return true; } return onTouchEvent(ev); } 当按下操作的时候会调用onUserInteraction()方法,该方法进入发现是空实现,其翻译: 每当将按键、触摸或轨迹球事件发送到活动。如果您希望知道用户在活动运行时以某种方式与设备交互。此回调和@link onUserLeaveHint旨在帮助活动智能地管理状态栏通知;具体来说,帮助活动确定取消通知的适当时间 /** * Called whenever a key, touch, or trackball event is dispatched to the * activity.

源码解析Android中的事件处理

强颜欢笑 提交于 2019-11-29 03:54:49
一,事件处理 Android提供了两套事件处理机制: 1.基于监听的事件处理。 2.基于回调的事件处理。 基于回调的事件处理用于处理一些具有通用性的事件,基于监听的事件处理用于处理与具体业务相关的事件。 基于监听的事件处理 基于监听的事件处理是在指定view组件上绑定指定的监听器。比如点击事件: 可以以匿名内部类形式绑定监听器: button.setOnClickListener( new View.OnClickListener() { @Override public void onClick (View view) { } }); 或者: // Create an anonymous implementation of OnClickListener private OnClickListener mCorkyListener = new OnClickListener() { public void onClick(View v) { // do something when the button is clicked } }; protected void onCreate(Bundle savedValues) { ... // Capture our button from layout Button button = (Button)findViewById(R

oa信用盘改单-菜鸟也能学cocos2dx 3.0 配置(二)

China☆狼群 提交于 2019-11-29 03:47:07
这篇主要是讲cocos3.0 的配置, OA信用盘架设q<319.135.503.1> 鉴于网上已经有很多这种文章,那么我就简单的讲一讲: 1.python2.7 因为cocos引擎的项目新建是用python脚本做的,至于为什么不用python3.x 那么请看python2.7和python3.x的print~ 2.ndk 这是你做android apk所必需的东西,先用ndk将c++代码编译成android可识别的so库,然后运用android的jni接口与android对接,其实cocos生成的程序在android上跑是一个activity,如果你cocos需要用到android上的功能比如视频,那么就需要用jni,或者2个activity之间进行切换(activity切换之间会有短暂黑屏,这个黑屏时间跟机子性能挂钩,是需要注意的。) 给个简单的示例:(beta2版本,以播放视频为例) 首先我新建1个video,运用的是android上的基于mediaview的videoview, 加入如下代码: package org.cocos2dx.cpp; import com.MyCompany.NEWGAME.R; import android.app.Activity; import android.content.Intent; import android.media

Android 宿舍成员小案例

心不动则不痛 提交于 2019-11-29 03:32:34
成功的买到了这本叫做课本的书之后 我想到了一个案例 打算自己来做一做 目的是储存班级的每一个人的基本信息 相比于之前的文章来说 这个新的案例,在外部看起来没有什么和之前的有什么比较特别的地方 但是实现代码上来说, 我尝试了很多不同的方法来实现基本同样的功能 通过调试,检测每一个控件的属性, 属性没有研究到的大概就是不太常用的, 在以后会慢慢的补充, 还有百度真是个好东西哈哈哈哈 首先对我的程序框架进行介绍, 我使用了10个activity,每个activity代表了一个界面的代码 在看下面的界面和逻辑之前需要先看一下AndroidManifest 下面的“//”实际上是用来我自己看的,要是真的想注释的话,使用ctrl+shift+/ <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" //叫什么命名空间下载地址的 package="com.example.xialm.myapplication"> <application android:allowBackup="true" //是否允许返回操作 android:icon="@mipmap/ic_launcher" //图标使用什么 android:label="

ButterKnife使用

a 夏天 提交于 2019-11-29 03:06:45
app中的buider.gradle中的dependencies加入: implementation 'com.jakewharton:butterknife:8.8.1' annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1' 就可以使用 @BindView(R.id.text1) TextView textView; 代替findviewbyid方法。 下面是个简单实例: 1.在activity中: @BindView(R.id.button) Button button; 2.在activity的onCreat中: setContentView(R.layout.activity_main); ButterKnife.bind(this); 3.还是在activity中: @OnClick(R.id.button) void onClickButton(View v) { //do sth } 就可以实现Button的响应。 来源: CSDN 作者: caz28 链接: https://blog.csdn.net/caz28/article/details/103244716