您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 企业财务 > Android 日常笔记(一)
Android日常笔记(一)1.adb连接adbconnect192.168.x.x(设备ip)无线连接调试:执行命令查看是否端口被占用:netstat-ano|findstr50373.Environment获取sd卡目录需要添加uses-permissionandroid:name=android.permission.WRITE_EXTERNAL_STORAGE/权限4.inti;i就是实参,publicvoidget(inty){}y就是形参5.&|位运算,将值转换成二进制进行比较00110101011110&0011010|10111106.HashMap与ArrayMap的区别其实本质上没有区别只是存储读取方式不一样如果内存固定ArrayMap能存更多内容但是ArrayMap速度更慢7.性能分析工具——DDMS8.as自动初始化控件compile'com.jakewharton:butterknife:7.0.1'9.监听EditText内容变化1、给EditText追加ChangedListenerEditTexteditText=(EditText)findViewById(R.id.edittext);editText.addTextChangedListener(this);.10.viod类型的方法内return了就表示执行结束11.inti[20];inti;for(inty:i)[}遍历for(遍历对象类型:遍历对象)12.File得到绝对路径、全路径。得到缩写的路径,根据当前目录位置可以缩写路径。得到相对路径。得到标准路径,将统一平台间的路径写法差异。13.toUpperCase的意思是将所有的英文字符转换为大写字母,如:Stringcc=“aBc123”.toUpperCase();结果就是:ABC123。toLowerCase的意思是将所有的英文字符转换为小写字母,如:Stringcc=“aBc”.toUpperCase();结果就是:abc123。备注:这两个方法只对英文字母有效,对除了A~Z和a~z的其余字符无任何效果。14.截取第位包括之后的字符串15.Viewholder的最基本使用Holder(setTag、getTag):中的setTag(Onbect)表示给View添加一个格外的数据,以后可以用getTag()将这个数据取出来。16.supersuper出现在继承了父类的子类中。有三种存在方式:第一种super.xxx;(xxx为变量名或对象名)这种方法意义为,获取父类中的名字为xxx的变量或方法引用。使用这种方法可以直接访问父类中的变量或对象,进行修改赋值等操作第二种super.xxx();(xxx为方法名)这种方法意义为,直接访问并调用父类中的方法。第三种super();这种方法意义为,调用父类的初始化方法,其实就是调用父类中的publicxxx()方法17.泛型Java泛型中的标记符含义:E-Element(在集合中使用,因为集合中存放的是元素)T-Type(Java类)K-Key(键)V-Value(值)N-Number(数值类型)?-表示不确定的java类型S、U、V-2nd、3rd、4thtypes18.关于listview的setAdapter和notifyDataSetChanged其实2个都可以更新,notifyDataSetChanged与setAdapter执行后都会到getView方法中,不同在于调用setAdapter的话view是空的需要重新创建,而前者传的是之前的view实体;另一个区别setAdapter会使页面回到顶部,不会停留在之前的位置强制转换类的时候里面一定要有个无参构造函数否则会获取不到数据20.androidlistviewitem选中,成选中状态颜色高亮显示方法:在onitemclick里面设置pos并notifyDataSetChanged,publicvoidonItemClick(AdapterView?arg0,Viewarg1,intarg2,longarg3){adapter.setSelectItem(arg2);adapter.notifyDataSetInvalidated();//adapter.notifyDataSetChanged();}然后在adapterif(position==selectItem){convertView.setBackgroundColor(Color.RED);}else{convertView.setBackgroundColor(Color.TRANSPARENT);}和notifyDataSetInvalidated如果将列表拉倒最底部(item数量超过一页)notifyDataSetChanged没有效果,但是notifyDataSetInvalidated有效notifyDataSetInvalidated(),会重绘控件(还原到初始状态)notifyDataSetChanged(),重绘当前可见区域22.eplicse经常打印不出log原因:插了手机或者多个设备23.adb:subusyboxifconfigwlan0downbusyboxifconfigwlan0hwether74:51:ba:41:52:82busyboxifconfigwlan0upnetcfg修改mac地址24.win7锁定任务栏图标快捷方式地址C:\Users\Liaohuan\AppData\Roaming\Microsoft\InternetExplorer\QuickLaunch\UserPinned\TaskBar25.android获取屏幕的高度和宽度用到WindowManager这个类,两种方法:1、WindowManagerwm=(WindowManager)getContext().getSystemService(Context.WINDOW_SERVICE);intwidth=wm.getDefaultDisplay().getWidth();intheight=wm.getDefaultDisplay().getHeight();2、WindowManagerwm=this.getWindowManager();intwidth=wm.getDefaultDisplay().getWidth();intheight=wm.getDefaultDisplay().getHeight();26.new和getInstance27.排序:collection28.模糊查找(包含)String.contains(String);29.获取assets媒体文件并播放30.获取屏幕宽度,高度及Density(显示密度)动画的基本使用方法播放列表,点击列表某一项选择播放33.focus、click、select、enable34.onEventonEvent:如果使用onEvent作为订阅函数,那么该事件在哪个线程发布出来的,onEvent就会在这个线程中运行,也就是说发布事件和接收事件线程在同一个线程。使用这个方法时,在onEvent方法中不能执行耗时操作,如果执行耗时操作容易导致事件分发延迟。onEventMainThread:如果使用onEventMainThread作为订阅函数,那么不论事件是在哪个线程中发布出来的,onEventMainThread都会在UI线程中执行,接收事件就会在UI线程中运行,这个在Android中是非常有用的,因为在Android中只能在UI线程中跟新UI,所以在onEvnetMainThread方法中是不能执行耗时操作的。onEventBackground:如果使用onEventBackgrond作为订阅函数,那么如果事件是在UI线程中发布出来的,那么onEventBackground就会在子线程中运行,如果事件本来就是子线程中发布出来的,那么onEventBackground函数直接在该子线程中执行。onEventAsync:使用这个函数作为订阅函数,那么无论事件在哪个线程发布,都会创建新的子线程在执行onEventAsync.35.switch样式设置stylename=widget_gender_switchitemname=android:layout_heightwrap_content/itemitemname=android:layout_widthwrap_content/itemitemname=android:textOff/item!--此设置不需要文字,只显示背景图的开关--itemname=android:textOn/itemitemname=android:thumb@drawable/widget_gender_thumb/item!--滑块格式9.png--itemname=android:thumbTextPadding10dp/item!--用来控制背景图片和文字之间的间距来控制switch整体宽度--itemname=android:track@drawable/widget_gender_track/item!--背景图的开关格式9.png--/style36.xRecyclerView上拉加载会在底部有块白条,并且加载如果没有延时不会显示动画。37./**禁止屏幕截图*/Windowwin=getWindow();win.addFlags(WindowManager.LayoutParams.FLAG_SECURE);38.这是Android原生seekbar.9背景图39.Arrays.asList()将一个数组转化为一个List对象,这个方法会返回一个ArrayList类型的对象,这个ArrayList类并非java.util.ArrayList类,而是Arrays类的静态内部类!40.从电脑调试安装apk41.不定参数,其实是个数组42.获取网页sessionjavascript:alert(document.cookie)43.44.View.requestFocus();使得控件获取到焦点。pressed按下后还未松开,表示按下。再松开后当前控件获得了焦点,是focused,同时也有selected状态,表示选中。但是选中状态的控件是可以有很多个的,而focused的只有一个,即focused和selected的一个重要区别是,一个窗口只能有一个视图获得焦点focused,而一个窗口可以有很多个视图同时处于选中selected状态。45.String.startsWith();String.startsWith(Stringstr)就是检查形参参数是否与你要检查的字符串开头相同,而startsWith(Sringstr,intIndex)则是从你要比较的原字符串的指定下标开始和形参作比较,这里边呢str
本文标题:Android 日常笔记(一)
链接地址:https://www.777doc.com/doc-4890656 .html