activity

Android创建新项目及开发

落花浮王杯 提交于 2019-11-26 15:40:53
创建一个新项目是很简单的,只要你安装了Eclipse插件,并且你的Eclipse软件版本在3.2或3.3,你就可以开始开发了。 首先, 看一下要创建"Hello, World"程序从高级层面上有哪些步骤: 1, 通过 File -> New -> Project 菜单,建立新项目"Android Project" 2, 填写新项目各种参数。 3, 编辑自动生成的代码模板。 仅此而已,我们通过下面的详细说明来完成每个步骤。 1、创建一个新的Android项目 启动Eclipse, 选择 File -> New -> Project 菜单, 如果你安装好了Android的Eclipse插件,你将会在弹出的对话框中看到"Android Project" 的选项。 选择“Android Project”,点击 Next 按钮。 2、填写项目的细节参数 下面的对话框需要你输入与项目有关的参数: 这个表格中详细介绍了每个参数的含义: Project Name: 包含这个项目的文件夹的名称。 Package Name: 包名,遵循JAVA规范,用包名来区分不同的类是很重要的,例子中用到的是"com.google.android",你应该按照你的计划起一个有别于这个的路径的名称。 Activity Name: 这是项目的主类名,这个类将会是Android的Activity类的子类

Android Service讲解 和 aidl 实现

谁说胖子不能爱 提交于 2019-11-26 15:29:16
Android Service讲解 和 aidl 实现 代码下载 Android Service讲解 和 aidl 实现 一、Android Service 1.建立一个service service和activity很相识,只是service在后台运行,activity在前台运行,他们都属于同一个同一个线程里,都属于UI线程,所以service和Thread是完全不一样的东西。一些耗时的操作在Service里运行也要开辟新的线程。 新建一个自己的service,只需要继承系统Service就行了,看下面代码: public class AIDLService extends Service { private static final String TAG = "AIDLService" ; @Override public void onCreate () { super .onCreate(); Log.i(TAG, "onCreate() called" ); } @Override public int onStartCommand (Intent intent, int flags, int startId) { Log.i(TAG, "onStartCommand() called" ); return super .onStartCommand(intent,

android后台运行心得

▼魔方 西西 提交于 2019-11-26 15:28:35
今天终于解决了 一个项目需求,就是在安卓手机串口通信时,要求接受的数据在后台保存,不显示app本身的Activity,我原来的思路是把Activity中的按钮等一些用户交互的操作全部去掉,实现APP自动打开串口,自动接收,自动显示,自动保存,然后把没有用户操作的Activity去掉,改为一个后台运行的service,结果发现一个更简便的方法,app启动后实现自动后台运行,虽然也要启动界面,但是启动时间很短暂,肉眼几乎发现不了,就和没有启动一样,没有用service,取了一些巧,只要用户发现不了就行,我特么就发现,为什么领导老是把用户想成一个个 傻瓜,一个Home键都不用按,给我这个新手真的是带了很多的烦恼,我只是一个自学成才的小白呀,owesome,具体方法是在oncreate()中添加 moveTaskTOBack(true) 这个改动我摸索了一个月,小白的世界真的伤不起,不说了,找个地方哭会。 来源: CSDN 作者: 风之云886 链接: https://blog.csdn.net/nqwzl/article/details/79874015

default activity not found android studio

放肆的年华 提交于 2019-11-26 14:55:42
default activity not found android studio 解决方案 在AndroidManifest.xml 添加如下内容 <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> 转载于:https://www.cnblogs.com/liwentao1091/p/5266565.html 来源: https://blog.csdn.net/weixin_30314793/article/details/98903179

~关于内存溢出的一些想法(Android)

笑着哭i 提交于 2019-11-26 11:40:37
最近看了一些资料,对android的程序的内存有一些想法,我提出来,请大家指正,目的是抛砖引玉。 首先提几个有意思的问题: 1,如果activty destroy掉的话,那么这个activty内的view所引用的bitmap回收掉了吗? 2,如果activty destroy掉的话,那么这个acitity所占用的内存被GC回收了吗? 我觉的一个程序中占用内存的地方有两个方面:一个是bimap。一个是context(activity). 一,先说bitmap:这个引起内存溢出比较普遍。有2个解决方法: 1,用bitmap的recycle方法,在我们确认这个bitmap不被使用的时候调用这个方法可以直接把bitmap所占用的内存回收掉。不过这个方法的使用的弱点是:如果这个方法调用的时间点不合理,很容易引起 use a recycle bitmap的异常。 2,用弱引用来管理你的bitmap。具体方法,是把程序里所有的bitmap对象放到一个静态的hasmap中,用弱引用来保 存。如果再用到这个bitmap的时候,根据相应的key直接取出来,相当于一个高速缓存池。保证这个程序不会重复创建过多的bitmap对象。此外弱引用对象可以在系统内存不足的时候自动被系统回收。 3,设置压缩参数,对bitmap进行压缩。以及用反射设置一下bitmap所占内存的位置(据说可以不算到heap中)。 二,

Android实际开发bug大总结

爱⌒轻易说出口 提交于 2019-11-26 10:56:18
目录介绍 1.1 java.lang.UnsatisfiedLinkError找不到so库异常 1.2 java.lang.IllegalStateException非法状态异常 1.3 android.content.res.Resources$NotFoundException 1.4 java.lang.IllegalArgumentException参数不匹配异常 1.5 IllegalStateException:Can't compress a recycled bitmap 1.6 java.lang.NullPointerException空指针异常 1.7 android.view.WindowManager$BadTokenException异常 1.8 java.lang.ClassCastException类转化异常 1.9 Toast运行在子线程问题,handler问题 2.1 java.lang.ClassNotFoundException类找不到异常 2.2 java.util.concurrent.TimeoutException连接超时崩溃 2.3 java.lang.NumberFormatException格式转化错误 2.4 java.lang.IllegalStateException: Fragment not attached to

Android面试题(二)Android基础3

邮差的信 提交于 2019-11-26 09:14:53
(三)常见的一些原理性问题 1、Handler机制和底层实现 上面一共出现了几种类,ActivityThread,Handler,MessageQueue,Looper,msg(Message),对这些类作简要介绍: ActivityThread:程序的启动入口,该类就是我们说的主线程,它对Looper进行操作的。 Handler:字面意思是操控者,该类有比较重要的地方,就是通过handler来发送消息(sendMessage)到MessageQueue和 操作控件的更新(handleMessage)。handler下面持有这MessageQueue和Looper的对象。 MessageQueue:字面意思是消息队列,就是封装Message类。对Message进行插入和取出操作。 Message:这个类是封装消息体并被发送到MessageQueue中的,给类是通过链表实现的,其好处方便MessageQueue的插入和取出操作。还有一些字段是(int what,Object obj,int arg1,int arg2)。what是用户定义的消息和代码,以便接收者(handler)知道这个是关于什么的。obj是用来传输任意对象的,arg1和arg2是用来传递一些简单的整数类型的。 下面,我们按照启动顺序来进行源码分析: 先获取looper,如果没有就创建 创建过程:

Activity启动流程宏观概念分析

大城市里の小女人 提交于 2019-11-26 07:31:57
本文借鉴自两位大神的原创: https://blog.csdn.net/singwhatiwanna/article/details/18154335 https://blog.csdn.net/qq_23547831/article/details/51224992 这两篇启动流程的总结,个人认为是很有代表性的两个极端总结,第一篇相对简短,只介绍了核心流程,大概五六分钟就能看完;第二篇十分详细,详细到连新进程的启动流程都涉及到了,看完大概需要半个小时甚至更长时间。 首先最好了解一下启动过程中比较重要的几个类,要知道它们的功能作用。 1.Instrumentation Instrumentation是android系统中启动Activity的一个实际操作类,Activity的onCreate、onStart、onResume等都是由它调用; 2.ActivityThread 启动Activity的核心功能由其内部的 scheduleLaunchActivity 方法来完成。 3.ActivityManagerService(AMS) 四大组件的大管家,统一调度各应用进程。 Activity的启动分两种,一种是startActivity(intent),另一种是Launcher启动,也就是点击桌面上的图标。 <activity android:name=".MainActivity"

实现Activity侧滑返回效果

牧云@^-^@ 提交于 2019-11-26 01:11:26
先看一张效果图 通过ViewDragHelper来检测到屏幕侧滑,然后通过内置接口传递给Acitivity触发了侧滑事件,通知其关闭。 1、实现侧滑删除,这里的方法是先要创建一个监听侧滑的自定义布局. public class SwipeBackLayout extends FrameLayout { private ViewDragHelper mViewDragHelper; private View mContentView; private int mContentWidth; private boolean isClose; private int mMoveLeft; private callBackListener mCallBackListener; public SwipeBackLayout (Context context) { this (context, null ); } public SwipeBackLayout (Context context, AttributeSet attrs) { this (context, attrs, 0 ); } public SwipeBackLayout (Context context, AttributeSet attrs, int defStyleAttr) { super (context, attrs

Android自定义Dialog及与Activity的交互

断了今生、忘了曾经 提交于 2019-11-26 00:11:46
一个小项目,需要用到一个自定义的Dialog,Dialog中需要一个ImageView用于显示表情图片,一个TextView用来显示提示文本,点击任何地方关闭Dialog,同时关闭打开这个Dialog的Activity。 效果如下图: 实现过程如下: 一、定义一个布局文件(dialog_custom.xml) 代码如下: ——————————————————————————————— <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/layout_dialog" android:layout_width="330dip" android:layout_height="150dip" android:background="@drawable/shape_conner_white_bg" android:orientation="horizontal"> <ImageView android:id="@+id/im_toast_icon" android:layout_width="100dip" android:layout_height="100dip" android