android开发中遇到的问题【一】

一。在一个xml中能否使用同一个include多次

http://www.apkbus.com/android-104152-1-1.html

     android中include标签的使用

http://blog.csdn.net/wangljgood/article/details/6556175

?二

android button在 linerlayout中底部居中

把button外的权重设为1.0

三。button shape

http://www.cnblogs.com/gzggyy/archive/2013/05/17/3083218.html

四 animation

http://www.eoeandroid.com/forum.php?mod=viewthread&tid=564

http://blog.csdn.net/feng88724/article/details/6318430

http://www.360doc.com/content/13/0102/22/6541311_257754535.shtml

http://blog.csdn.net/aminfo/article/details/7847761

http://blog.csdn.net/xsl1990/article/details/19125193

http://www.cnblogs.com/bavariama/archive/2013/01/29/2881225.html

http://www.oschina.net/question/97118_34523

http://www.eoeandroid.com/thread-67329-1-1.html

五。imageview 按比例缩放

android:scaleType是控制图片如何resized/moved来匹对ImageView的size。

ImageView.ScaleType / android:scaleType值的意义区别:

CENTER /center  按图片的原来size居中显示,当图片长/宽超过View的长/宽,则截取图片的居中部分显示

CENTER_CROP / centerCrop  按比例扩大图片的size居中显示,使得图片长(宽)等于或大于View的长(宽)

CENTER_INSIDE / centerInside  将图片的内容完整居中显示,通过按比例缩小或原来的size使得图片长/宽等于或小于View的长/宽

FIT_CENTER / fitCenter  把图片按比例扩大/缩小到View的宽度,居中显示

FIT_END / fitEnd   把图片按比例扩大/缩小到View的宽度,显示在View的下部分位置

FIT_START / fitStart  把图片按比例扩大/缩小到View的宽度,显示在View的上部分位置

FIT_XY / fitXY  把图片不按比例扩大/缩小到View的大小显示

MATRIX / matrix 用矩阵来绘制,动态缩小放大图片来显示。

六。android如何获取时间差?

七。

ImageLoader must be init with configuration before using 错误解决方法

imageLoader.init(ImageLoaderConfiguration.createDefault(MainActivity.this));

八。java.lang.StackOverflowError

StackOverflow 这个问题一般是你的程序里头可能是有死循环或递归调用所产生的;

9.

java.lang.ClassCastException: android.app.Application cannot be cast to MyApplication问题

出这个异常的原因是在项目中添加了新application类(public class Application extends android.app.Application)之后,没有在manifest.xml中添加该类的声明,所以编译器抛出异常: java.lang.ClassCastException: android.app.Application cannot be cast to android_serialport_api.sample.Application

解决方法,在manifest.xml中添加:

[html] view plaincopy

<application
 android:name="xxx.MyApplication">
  1. event.getAction();
  2. Found both android-support-v4 and android-support-v13 in the dependency list.
  3. 怎么关联android-support-v4源码

    问题:使用viewpager或者fragmentActivity等一些v4包下的类,当我们按F3时无法查看到源码,这个时候就需要我们关联该源码,该源码的关联与android源码的关联不一样。

    解决办法:

    1、首先在工程的libs目录下创建一个配置文件:android-support-v4.jar.properties(建议这样)

    2、查找自己安装的SDK的目录下的android-support-v4的src源码地址

    本人的为:D:\eclipse\android-sdk\extras\android\compatibility\v4\src

    3、编辑android-support-v4.jar.properties文件为:(注意是双斜杠)

    src = D:\eclipse\android-sdk\extras\android\compatibility\v4\src

    4、关闭自己的工程后再打开,此时进去选择ViewPager后F3就能看到源码了。

    5、恭喜:android-support-v4 源码已经成功的关联上。

还有种方式,http://blog.csdn.net/leon90dm/article/details/8521939,没试。

13.eclipse 修改设置Ctrl+Shift+F长度

在window的Preferences中的Java->Code Style->Formatter

到了这一步就是找到Ctrl+Shift+F的格式化模板了,这里不能直接修改。因为是eclipse默认的模板,是只读的。

我们可以new 一个Formatter,然后点击edit就可以修改模板。

我修改模板主要就是修改那个Ctrl+Shift+F后,把我的代码换多行了。

修改选项卡中的Line Wrapping选项卡, 有一个Maximum line with: 80(默认);

这里默认是80我们可以把它修改成120的,那样不超过120个字符就不会被换行了!

其他自己需要的格式都可以在这里面修改。当然你还可以导出你自定义的格式,导出的是xml格式的。以后在其他地方

还可以导入。这样就不用再自定义了。
  1. android-develop 镜像路径

    http://androiddoc.qiniudn.com/

    google,被和谐后,通过vpn或者访问上述镜像路径。

15.fragment Andriod开发技巧——Fragment的懒加载

一个Activity里面可能会以viewpager(或其他容器)与多个Fragment来组合使用,而如果每个fragment都需要去加载数据,或从本地加载,或从网络加载,那么在这个activity刚创建的时候就变成需要初始化大量资源。这样的结果,我们当然不会满意。那么,能不能做到当切换到这个fragment的时候,它才去初始化呢?

答案就在Fragment里的setUserVisibleHint这个方法里
http://blog.csdn.net/maosidiaoxian/article/details/38300627

16.让多个Fragment 切换时不重新实例化

http://www.yrom.net/blog/2013/03/10/fragment-switch-not-restart/

  1. 关于Android的GridView添加headerView

    grid-with-header-list-adapter

    StickyGridHeaders/

    http://www.eoeandroid.com/blog-696650-48907.html

18.Eclipse设置不格式化注释

Eclipse设置不格式化注释

  注释中写点带格式的文字,format后全乱了,解决办法如下:

  Windows -> Preferces -> java -> Code Style -> Formatter -> Edit -> Comments

  取消勾选“Enable Javadoc comment formatting”.

19.android-Ultra-Pull-To-Refresh

20.Linux动态gif图的录制

byzanz
byzanz的安装与使用

Ubuntu下安装

  sudo add-apt-repository ppa:fossfreedom/byzanz
sudo apt-get update sudo apt-get install byzanz

你可以通过如下命令来完成录制过程:
byzanz-record -d 40 -x 0 -y 0 -w 400 -h 320 byzanz-demo.gif

其中:

    -d 40 为录制的时长为 40 秒
    -x 0 录制区域的横坐标
    -y 0 录制区域的纵坐标,记住:屏幕右上角为原点(0,0)
    -w 400 录制区域的宽度
    -h 320 录制区域的高度

byzanz-demo.gif 保存的文件名

详细参数可通过byzanz-record --help查看。
http://www.tuicool.com/articles/YFJrem

另外:windows下 GIF屏幕录像机 V2.0
  1. afinal 开元框架 andbase的对比
  2. viewpage 无线循环

    http://www.cnblogs.com/xinye/archive/2013/06/09/3129140.html

23.public void onPageScrollStateChanged(int arg0)

此方法是在状态改变的时候调用,其中arg0这个参数有三种状态(0,1,2)。arg0 ==1的时辰默示正在滑动,arg0==2的时辰默示滑动完毕了,arg0==0的时辰默示什么都没做。

当页面开始滑动的时候,三种状态的变化顺序为(0,1,2,0)

24.

在eclipse.ini文件中加入 -Dorg.eclipse.swt.browser.DefaultType=mozilla

然后clean一下就OK了 执行clean命令

25.开源框架

http://blog.csdn.net/jonemill/article/details/42149783

26.viewpager实现画廊(一屏多个Fragment)效果

27.svn命令

$ svn add * –force

http://developer.51cto.com/art/201005/201633.htm

28.Array constants can only be used in initializers

int CC [] ={1,2,3}; 数组定义并附初始值的时候,数组的长度就定了,长度是3

而且数组从新赋值不能再像定义的时候那样

而要一个一个地更改

CC[0]=1;

CC[1]=2;

CC[2]=3;

Array constants can only be used in initializers

29.android 插件化

30.scrollview在内容较少时也可以滚动

在XML为ScrollView添加属性android:overScrollMode=”always”即可

31.gridview/listview 点击时 android默认背景是黄色的,如何去掉选中时的黄色背景

方法一,在控件被初始化的时候设置

gridView.setSelector(new ColorDrawable(Color.TRANSPARENT));
listView.setSelector(new ColorDrawable(Color.TRANSPARENT));

方法二,在布局文件中设置listSelector属性

<GridView
    android:listSelector="@android:color/transparent"
    android:numColumns="auto_fit"
    android:columnWidth="50dp"
    android:stretchMode="spacingWidth"
    android:layout_weight="1.0"
    android:layout_height="0dip"
    android:layout_width="match_parent"/>

<ListView
    android:listSelector="@android:color/transparent"
    android:layout_height="match_parent"
    android:layout_width="match_parent"/>

当然也可以定制化自己想要的效果。

推荐使用方法二,解耦逻辑代码与布局文件。

另外listview还有两个基础问题

问题1:

           listview在拖动的时候背景图片消失变成黑色背景。等到拖动完毕我们自己的背景图片才显示出来。

    解决办法:

          xml中: android:scrollingCache="false"  或者 android:cacheColorHint="#00000000"

         代码中: setScrollingCacheEnabled(false)  或者 setCacheColorHint(0)  或者setCacheColorHint(Color.TRANSPARENT);

    问题2:

        listview的上边和下边有黑色的阴影。

    解决办法:

       xml中: android:fadingEdge="none"  

      代码中:setFadingEdgeLength(0);

32.ScrollView仅支持一个子项,报错ScrollView can host only one direct child

解决办法:

在ScrollView 中设LinearLayout为子项 ,将其它View放入LinearLayout。

33.viewpager 设置间距和缓存

viewPager.setOffscreenPageLimit(TOTAL_COUNT);
viewPager.setPageMargin(getResources().getDimensionPixelSize(R.dimen.page_margin));

34.一级缓存和二级缓存是什么意思??

静态ram缓存叫一级缓存,而把后来增加的动态RAM叫二级缓存。

RAM又分两种,

一种是静态RAM,SRAM;一种是动态RAM,DRAM。前者的存储速度要比后者快得多,我们现在使用的内存一般都是动态RAM。 

有的菜鸟就说了,为了增加系统的速度,把缓存扩大不就行了吗,扩大的越大,缓存的数据越多,系统不就越快了吗 

缓存通常都是静态RAM,速度是非常的快, 

但是静态RAM集成度低(存储相同的数据,静态RAM的体积是动态RAM的6倍), 

价格高(同容量的静态RAM是动态RAM的四倍), 

由此可见,扩大静态RAM作为缓存是一个非常愚蠢的行为, 

但是为了提高系统的性能和速度,我们必须要扩大缓存, 

这样就有了一个折中的方法,不扩大原来的静态RAM缓存,而是增加一些高速动态RAM做为缓存, 

这些高速动态RAM速度要比常规动态RAM快,但比原来的静态RAM缓存慢, 

我们把原来的静态ram缓存叫一级缓存,而把后来增加的动态RAM叫二级缓存。 

一级缓存和二级缓存中的内容都是内存中访问频率高的数据的复制品(映射),它们的存在都是为了减少高速CPU对慢速内存的访问。
通常CPU找数据或指令的顺序是:先到一级缓存中找,找不到再到二级缓存中找,如果还找不到就只有到内存中找了

35.性能优化:使用SparseArray代替HashMap

时间: 2024-11-03 21:16:34

android开发中遇到的问题【一】的相关文章

android开发中碰到的三个小问题

Android开发中注意到的几个问题 1.  关于actionbar 初始化配置actionbar,getactionbar经常为null,原因是因为在源码或者布局文件中设置了全屏显示的缘故,不设置全屏显示就不会有问题. 2.  关于textview Textview默认是没有焦点的,因此不可能有点击事件,也无法直接实现背景的selector.通过设置android:clickable = true;就可以了,这一点与Button有很大的不同 3.  关于sourcinsight中的php代码.

android开发中监听器的三种实现方法(OnClickListener)

Android开发中监听器的实现有三种方法,对于初学者来说,能够很好地理解这三种方法,将能更好地增进自己对android中监听器的理解. 一.什么是监听器. 监听器是一个存在于View类下的接口,一般以On******Llistener命名,实现该接口需要复写相应的on****(View v)方法(如onClick(View v)). 二.监听器的三种实现方法 (以OnClickListener为例) 方法一:在Activity中定义一个内部类继承监听器接口(这里是OnClickListener

android开发中,两个按下手机实体返回键,两个Activity反复来回跳转的问题

android开发中,对于用intent实现跳转的Ativity,有时候按下手机的返回键时,两个Activity之间会多次相互跳转,始终退出不了程序的情况.这是由于从Activity  A跳转到Activity  B时,A被压入Activity栈中:当从B返回时,默认又重新创建了一个Activity A对象,这样一来就有了多个Activity A对象.所以造成了无法退出情况. 解决办法是:在AndroidManifest.xml文件中找到Activity A项,在其属性中加入  android:

Android开发中常用的ListView列表的优化方式ViewHolder

在Android开发中难免会遇到大量的数据加载到ListView中进行显示, 然后其中最重要的数据传递桥梁Adapter适配器是常用的,随着市场的需 求变化ListView'条目中的内容是越来越多这就需要程序员来自定义适配器, 而关键的就是适配器的优化问题,适配器没有优化好往往就会造成OOM (内存溢出)或者是滑动卡顿之类的问题,接下来我就给大家介绍一种常 用的Adapter优化方法 1 /** 2 * list View的适配器 3 */ 4 class Adapter extends Bas

Builder模式详解及其在Android开发中的应用

一.引言 在Android开发中,采用Builder模式的代码随处可见,比如说Android系统对话框AlertDialog的使用或者是Android中的通知栏(Notification)的使用,又比如说在一些常用的第三方库中也随处可见其踪迹,比如说一些常用的网络请求库如OkHttp或者是retrofit,又或者是图片加载库Glide中也不缺乏它的应用. 为什么Builder模式在Android或是Java开发中这么火呢?因为它相较于构造函数或者是Get/Set方法,它的灵活性和封装性上都比较有

android权限--android开发中的权限及含义(上)

android权限--android开发中的权限及含义(上) android.permission.EXPAND_STATUS_BAR 允许一个程序扩展收缩在状态栏,android开发网提示应该是一个类似Windows Mobile中的托盘程序 android.permission.FACTORY_TEST 作为一个工厂测试程序,运行在root用户 android.permission.FLASHLIGHT 访问闪光灯,android开发网提示HTC Dream不包含闪光灯 android.pe

Android学习笔记_78_ Android开发中使用软引用和弱引用防止内存溢出

在<Effective Java 2nd Edition>中,第6条"消除过期的对象引用"提到,虽然Java有 垃圾回收机制,但是只要是自己管理的内存,就应该警惕内存泄露的问题,例如的对象池.缓存中的过期对象都有可能引发内存泄露的问题.书中还提到可以用 WeakHashMap来作为缓存的容器可以有效解决这一问题.之前也确实遇到过类似问题,但是没有接触过"弱引用"相关的问题,于是查阅了一些资料. <Java 理论与实践: 用弱引用堵住内存泄漏>

Android开发中使用七牛云存储进行图片上传下载

Android开发中的图片存储本来就是比较耗时耗地的事情,而使用第三方的七牛云,便可以很好的解决这些后顾之忧,最近我也是在学习七牛的SDK,将使用过程在这记录下来,方便以后使用. 先说一下七牛云的存储原理,上面这幅图片是官方给出的原理图,表述当然比较清晰了.可以看出,要进行图片上传的话可以分为五大步: 1. 客户端用户登录到APP的账号系统里面: 2. 客户端上传文件之前,需要向业务服务器申请七牛的上传凭证,这个凭证由业务服务器使用七牛提供的服务端SDK生成: 3. 客户端使用七牛提供的客户端S

MVP模式在Android开发中的应用

一.MVP介绍 随着UI创建技术的功能日益增强,UI层也履行着越来越多的职责.为了更好地细分视图(View)与模型(Model)的功能,让View专注于处理数据的可视化以及与用户的交互.同一时候让Model仅仅关系数据的处理.基于MVC概念的MVP(Model-View-Presenter)模式应运而生. 在MVP模式里通常包括4个要素: (1)View:负责绘制UI元素.与用户进行交互(在Android中体现为Activity); (2)View interface:须要View实现的接口,V

Android开发中的问题及相应解决(持续更新)

最近博客写的少了,以后还得经常更新才行. ------------------------------------------------------------ 1.try cath 异常不全导致的意外问题. 之所以将此问题放在第一位,是因为前阵子中项目中出现了此类情况,并且这种情况很容易不注意或遗忘,但其错误却是致命的. 在Java/Android开发中,当调用一个函数时,此函数抛出一个A类型的异常,很自然的,在调用的地方我们会try.. catch此异常,并且绝大多数情况下,捕获异常是由E