;styles中定義一個(gè)style,然后在mainfest文件中設(shè)置android:theme.最后在Activity中按照這個(gè)順序?qū)懀簊uper.onCreate(savedInstanceState);requestWindowFeature(Window.FEATURE_C......" /> 国产精品后入内射日本在线观看,国产精品拍天天在线,国产精品麻豆欧美日韩ww

国产午夜精品理论片,国产亚洲精品久久久999蜜臀,国产精品久久久久久久久免费,国产卡一卡二卡3卡4乱码,国产精品午夜无码av天美传媒

Android開(kāi)發(fā)常見(jiàn)問(wèn)題及解決方法(二)
發(fā)布時(shí)間:2016/1/13 來(lái)源:搜數(shù)網(wǎng)絡(luò) 瀏覽:37


1.自定義title欄。

首先要z在values->styles中定義一個(gè)style,然后在mainfest文件中設(shè)置android:theme.

最后在Activity中按照這個(gè)順序?qū)懀?/span>

super.onCreate(savedInstanceState);

requestWindowFeature(Window.FEATURE_CUSTOM_TITLE); 

setContentView(R.layout.activity_main);

getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.title_layout);



2.SQLite isFirst和isBeforeFirst方法的區(qū)別:

看下面一段代碼

Cursor c = queryTheCursor(type);

        if(c.moveToLast())

        while (!c.isBeforeFirst()) {  

        String tmpContent = new String();  

        tmpContent = c.getString(c.getColumnIndex("content")); 

            contents.add(tmpContent);

            c.moveToPrevious();

        }  

        c.close();  

代碼的作用是逆序輸出表中的內(nèi)容,第三行如果用的是isFirst()的話就無(wú)法輸出第一行,正確做發(fā)是用isBeforeFirst()。



3.eclipse刪除空行 

在eclipse中刪除某一行就用ctrl+D快捷鍵。如果你想刪除一個(gè)文件中的所有空行呢。

可以用下面方法。

 

1)打開(kāi)源碼編輯器 

2)使用快捷鍵Ctrl+f 

3)在Find輸入框中輸入:^\s*\n 

4)Replace With輸入框的值為空 

5)在【Options】選中的"Regular expressions" 

6)點(diǎn)擊【Replace All】按鈕。 

7)OK!


4.getX()和getRawX()的區(qū)別

getX()是表示W(wǎng)idget相對(duì)于自身左上角的x坐標(biāo)

而getRawX()是表示相對(duì)于屏幕左上角的x坐標(biāo)值(注意:這個(gè)屏幕左上角是手機(jī)屏幕左上角,不管activity是否有titleBar或是否全屏幕),getY(),getRawY()一樣的道理 


5.imagView居中顯示問(wèn)題

xml設(shè)置如下:


    android:layout_width="fill_parent"

    android:layout_height="wrap_content"

    android:layout_gravity="center"

    android:orientation="vertical" >

            android:layout_width="wrap_content"

    android:layout_height="wrap_content"

        android:id="@+id/myImageView"

        android:layout_gravity="center"

        android:scaleType="matrix"

        android:src="@drawable/pic" >

    





6.synchronized引發(fā)了 java.util.ConcurrentModificationException


如果多個(gè)線程同時(shí)訪問(wèn)一個(gè) ArrayList 實(shí)例,而其中至少一個(gè)線程從結(jié)構(gòu)上修改了列表,那么它必須 保持外部同步。

解決方法:初始化的時(shí)候 將ArrayList改為CopyOnWriteArrayList;

原理:

  JAVA中將引用從一個(gè)對(duì)象移到另外一個(gè)對(duì)象不需要消耗CPU時(shí)間,可以看做是一個(gè)原子操作。

  JAVA中如果一個(gè)對(duì)象仍舊存在引用,則不會(huì)被CG回收。      

CopyOnWriteArrayList就是根據(jù)以上兩個(gè)特點(diǎn),在列表有更新時(shí)直接將原有的列表復(fù)制一份,并再新的列表上進(jìn)行更新操作,完成后再將引用移到新的列表上。舊列表如果仍在使用中(比如遍歷)則繼續(xù)有效。如此一來(lái)就不會(huì)出現(xiàn)修改了正在使用的對(duì)象的情況(讀和寫(xiě)分別發(fā)生在兩個(gè)對(duì)象上),同時(shí)讀操作也不必等待寫(xiě)操作的完成,免去了鎖的使用加快了讀取速度。



7.獲取隨機(jī)顏色

并不用每次都生成三個(gè)隨機(jī)數(shù),下面兩條語(yǔ)句就可以了:

Random myRandom=new Random();

int ranColor = 0xff000000 | mRandom.nextInt(0x00ffffff);



8.去掉Activity的標(biāo)題欄,全屏顯示

在manifest文件中修改對(duì)應(yīng)的Avtivity屬性。

android:theme="@android:style/Theme.NoTitleBar.Fullscreen"



9.如何修改應(yīng)用名稱及應(yīng)用圖標(biāo)

修改程序的圖標(biāo),修改drawable文件夾的i→→c_launcher.png圖標(biāo),把新的圖標(biāo)改名覆蓋就可以了。

如果你要自己的名稱,可以修改AndroidManifest.xml的這個(gè)節(jié)點(diǎn),application android:icon="@drawable/ic_launcher",不需要加文件擴(kuò)展名。

即使這么做了,真機(jī)調(diào)試的時(shí)候可能還是會(huì)有一些問(wèn)題,比如圖標(biāo)沒(méi)辦法改變,這個(gè)時(shí)候就需要在Eclipse中新建一個(gè)不同名的項(xiàng)目,然后轉(zhuǎn)移代碼(有點(diǎn)小麻煩~_~!)。


10.關(guān)于調(diào)試方法

調(diào)試的時(shí)候程序如果出錯(cuò),一般是查看logcat,看error發(fā)生的地方,會(huì)提示在程序的第幾行,然后去找就可以了。

但有些錯(cuò)誤沒(méi)辦法定位,那就把日志輸出成txt,然后去google,baidu吧。


11.Couldn't read row 0, col -1 from CursorWindow.  Make sure the Cursor is initialized correctly before accessing data from it.

錯(cuò)誤1:請(qǐng)求的字段在數(shù)據(jù)庫(kù)的表中不存在,一般是大小寫(xiě)沒(méi)寫(xiě)對(duì);

錯(cuò)誤2:編程的中途改變表的字段,實(shí)際字段并沒(méi)有改變,解決方法是卸載當(dāng)前版本,再安裝調(diào)試。


12.android.content.res.Resources.loadXmlResourceParser

在傳遞string類做參數(shù)的地方傳了int形變量。


13.android.content.res.Resources$NotFoundException

出現(xiàn)此類異常時(shí),可以根據(jù) Resource ID到資源類R中找相關(guān)的資源。比如0x7f030000,對(duì)應(yīng)的是city_item布局文件,就可以將問(wèn)題縮小到更小的范圍。對(duì)于這類運(yùn)行時(shí)找不到資源,但資源又確實(shí)存在的問(wèn)題,可能的編譯打包時(shí)出現(xiàn)問(wèn)題,沒(méi)有將該資源加入??尚薷囊幌略撡Y源,讓編譯器重新編譯。 

還有試一下Project ->Clean一下這個(gè)項(xiàng)目 也可以的。


返回