零碎知识总结

1、Activity.findViewById(int id)与View.findViewById(int id)的区别?

Activity.findViewById(int id)表示通过在xml文件中的id属性来查找控件

Finds a view that was identified by the id attribute from the XML that was processed in onCreate

View.findViewById(int id)表示在给定View上查找id为给定id值得控件

Look for a child view with the given id. If this view has the given id, return this view.


2、View.inflate的参数解释

  1. /*int resource,也就是resource/layout文件在R文件中对应的ID,这个必须指定。
  2. 而ViewGroup root则可以是null,null时就只创建一个resource对应的View,不是null时,会将创建的view自动加为root的child
  3. */
  4. View inflate(int resource, ViewGroup root)

3、反编译

工具:


4、startActivity(Intent intent)与startActivityForResult(Intent  intent)的区别

startActivity(Intent intent)是上下文的方法

startActivityForResult(intent, requestCode)是Activity的方法


5、判断字符串是否为空或长度为0

TextUtils.equals(String str);


6、在服务里面打开一个Activity需要设置标记,给指定的Activity添加任务栈。不然会报错
  1. Intent intent = new Intent(WatchDogService.this,passWord_Activity.class);
  2. intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
  3. intent.putExtra("PackName",packName);
  4. startActivity(intent);

Activity的属性

7、让最近打开的Activity不在最近列表显示
  1. android:excludeFromRecents="true"
8、Activity在新的任务栈显示
  1. android:launchMode="singleInstance"

9、手机杀毒原理

10、获得手机的型号、版本、
  1. //获取手机型号和系统版本号
  2. String sdk=android.os.Build.VERSION.SDK; // SDK号
  3. String model=android.os.Build.MODEL; // 手机型号
  4. String release=android.os.Build.VERSION.RELEASE; // android系统版本号

11、ListView的加载

listView的加载过程,是数据加载完了,才呈现在手机屏幕上,如果想让用户看到加载过程逐条呈现可以使用其他的布局方式


12、openFileOutput的意义

例:拷贝数据库文件:assets->data/data/com.itheima.mobilesafe/files

  1. InputStream is = getAssets().open(dbname); //打开程序包中的资产文件
  2. FileOutputStream fos = this.openFileOutput(dbname, Context.MODE_PRIVATE);//对应的路径data/data/com.itheima.mobilesafe/files

13、进度条progressBar的基本用法
  1. 在xml文件中默认样式为原型如果想改为长条型可以添加属性 style="?android:attr/progressBarStyleHorizontal"
  1. //控制prograssBar的进度
  2. progressBar1.setMax(packInfos.size());//设置总大小
  3. progressBar1.setProgress(progress);//设置当前进度

14、让控件的点击属性失效
  1. //设置为不可用点击
  2. view.getChildAt(i).setEnabled(false);

15、ViewGroup的一些特点

viewgroup可以获得父控件上的子控件,但View没有这个能力


16、layout_width=-2 表示包裹内容

来自为知笔记(Wiz)

时间: 2024-08-07 04:32:18

零碎知识总结的相关文章

c/c++面试题(7)零碎知识总结

1.变量的声明和定义有什么区别? 声明:变量的声明做了两件事情 a.告诉编译器这个变量已经匹配到一块内存上了,下面的代码用到的变量或对象是在别处定义的. 声明可以出现很多次. b.告诉编译器这个变量名已经被我占用了,其他的的变量将不能再使用. 定义:告诉编译器创建一个对象,为这个对象分配一块内存并给它取一个名字,这个名字就是常说的 变量名或对象名.同一变量或对象的定义只能出现一次. 本质区别:声明没有分配内存,而定义则是创建了对象并为这个对象分配了一块内存. 2.sizeof和strlen之间的

开发零碎知识集锦

开发零碎知识集锦 idea超好用的快捷键 默认的idea快捷键,以及常用的快捷键就不再数流水,这里只介绍你不常用,但是又十分好用的快捷键. 上次改了什么,忘记了?alt + shift + c显示最近的更改 想找类里面的某个方法?ctrl + F12,当然还有个更强大的alt + shift + ctrl + n,不仅可以搜索方法,还可以搜类名 想定位到某一行代码?ctrl + G输入行号即可 Chrome开发者工具快捷键 想找某个文件?ctrl + P搜索某个文件 想定位某一行? ctrl +

php获取服务器信息常用方法(零碎知识记忆)

突然整理下零碎小知识.......加深下印象: $info = array( '操作系统'=>PHP_OS, '运行环境'=>$_SERVER["SERVER_SOFTWARE"], '主机名'=>$_SERVER['SERVER_NAME'], 'WEB服务端口'=>$_SERVER['SERVER_PORT'], '网站文档目录'=>$_SERVER["DOCUMENT_ROOT"], '浏览器信息'=>substr($_SE

【Python】 零碎知识积累 III

零碎积累 III ■ 函数的参数默认值在函数定义时确定并保存在内存中,调用函数时不会在内存中新开辟一块空间然后用参数默认值重新赋值,而是单纯地引用这个参数原来的地址.这就带来了一个坑,那就是当你在函数体中对默认参数做一些改变的时候,若参数默认值是int,str这种不可变类型,那么还好,因为默认参数在内存中并没改变,只是参数指向另一块空间:但若是list这种可变类型,当你对默认参数做改变的时候,将会直接影响这个参数在内存中实际的值,这也就影响了下次调用这个函数时参数的默认值.比如: def foo

【Python】 零碎知识积累 II

零碎积累II ■ global关键字用于把跟着的变量声明为全局变量.在看似不属于其的命名空间里也可以引用它. ■ 讲一个一维列表二维化的方式,用简单的一行语句来表达: [[array[rows*y+cols] for cols in range(y)] for rows in range(x)] #array是一个一维列表(或者数组),x表示二维化后的行数,y表示列数 ■ 想用C,java里面的switch语句结构,但是python里没有的时候,可以 1.  搞很多个if判断,不过这样很繁琐 2

Spring零碎知识复习

自学了Spring也有一段时间了,多多少少掌握了一些Spring的知识,现在手上也没有很多的项目练手,就将就着把这些学到的东西先收集起来,方便日后用到的时候没地方找. 1.spring的国际化 主要是配置文件: 1 <bean id="messageSource" 2 class="org.springframework.context.support.ResourceBundleMessageSource"> 3 4 <!-- 传入资源文件 --

Guava库学习:Guava 零碎知识

这将是Guava库学习系列的最后一篇,但是仍然包含许多零零碎碎的知识.虽然不可能覆盖所有Guava涉及的知识,但我们会竭尽所能.本篇将会介绍一些Guava中有用的工具,并不需要再开一个系列.本篇学习的一些工具可能并不会经常使用,但当你需要时,它是必不可少的.接下来,开始本篇的学习. 本篇,我们将主要学习以下内容:Hashing.BloomFilter.Optional.Throwable. Hashing散列类包含静态实用方法获取HashFunction实例 BloomFilter数据结构,用于

【转】Python零碎知识(2):强大的zip

转自:http://www.cnblogs.com/BeginMan/archive/2013/03/14/2959447.html 这篇博文讲的挺好的 一.代码引导 首先看这一段代码: 1 >>> name=('jack','beginman','sony','pcky') 2 >>> age=(2001,2003,2005,2000) 3 >>> for a,n in zip(name,age): 4 print a,n 5 6 输出: 7 jac

零碎知识

C++中char类型可以自动转换成string类型,即你可以用char类型字符串直接给string类型变量赋值.但反过来是不行的,string类型不能隐式的将string类型转换成char类型,想要转换,必须显式调用c_str()函数.给你举个例子: string s1; const char *pc = "a character array"; s1 = pc; // ok char *str = s1; // 编译时刻类型错误 const char *str = s1.c_str(

MVC零碎知识-悟(一)

一.View中model的关联 1.当关联单一对象时,需要关联相应命名空间下的模型对象 @model MvcMusicStore.Models.Album 显示: <div class="display-label"> @Html.DisplayNameFor(model => model.Title) </div> 2.关联对象集合时,则需添加IEnumerable<相应命名空间下的模型对象>,以方便视图知道传入的一个集合 @model IE