Android 開發小經驗2

2021-08-26 17:37:20 字數 2283 閱讀 6529

1.textview中的ellipsize

我們都知道當在textview中設定ellipsize時,顯示的結果會是縮略顯示,但是比較不好的是

google預設只會顯示倆行,如果自己想多顯示的話就必須自定義textview,為了減少開發

過程中的重複工作,我把最近做的專案中的這部分**貼出來,如下:

package com.hustunique.fuubo.view;

import android.content.context;

import android.util.attributeset;

import android.widget.textview;

public class weibocontenttext extends textview

public weibocontenttext(context context)

@override

public charsequence gettext()

@override

public void settext(charsequence text, buffertype type)

super.settext(text, type);

}}

比較低階,但是感覺還是比較實用

2.設定輸入法彈出後的布局問題可以試下以下系列方法:

getwindow().setsoftinputmode(windowmanager.layoutparams.***x);

3.textview實現多行本文滾動

android:id="@+id/***"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:scrollbars="vertical"

android:singleline="false"

android:maxlines="12"

android:textcolor="#ffffff"

/>

當然我們為了讓textview動起來,還需要用到textview的setmovementmethod方法設定乙個滾動例項,**如下

textview tv = (textview)findviewbyid(r.id.tvcwj);

tv.setmovementmethod(scrollingmovementmethod.getinstance());

4.edittext中setinputtype的妙用

使用該方法我們可以實現諸如隱藏/顯示輸入內容,隱藏鍵盤等等

5.dalvik與jvm

a. dalvik是基於暫存器,而jvm基於棧,前者可以提前優化,編譯時間短,指令簡單短小,所需資源少等等

b. dalvik執行的是.dex,而jvm是.class

c. dalvik接合了物件導向和linux的程序/執行緒機理,在有限的記憶體中可以有多個例項,每個android應用對應乙個例項

並且android中的執行緒和程序是和linux核心中一一對應的,核心是感知的,但是在jvm中一次只能支援乙個程序,並且多執行緒

是虛擬機器虛擬出來的,作業系統只看到單執行緒

d.dalvik為所有的物件維持乙個常量池,而jvm是每個物件有自己的常量池

6.android中實現view的更新有兩組方法,一組是invalidate,另一組是postinvalidate,其中前者是在ui執行緒自身中使用,而後者在非ui執行緒中使用。

7.gc的一般原因:

過長時間持有占用大記憶體的物件引用,比如activity和context

bitmap沒有recycle

cursor沒有關閉

自定義adapter時,沒有利用contentview

8.將自己的應用新增到系統分享或是傳送到:

在自己的activity中加入以下**

9.在自己程式中設定桌面桌布

public void setwall*****(view view)

將以上方法作為乙個事件觸發函式即可

10.將自己程式的背景設定為手機桌布

在values資料夾下建立乙個styles.xml檔案,加入如下**

然後在自己的程式中使用以上風格即可,注意自己的程式中不能再設定背景,否則不會出現桌布

SAP HANA開發小經驗

在開發sap hana的時候,碰到一些問題 1.我在sap hana的calculation view中寫 然後執行結果正確,然後在sql editor中寫查詢前面的的檢視的資料,發現多了很多條,原來是有重複的記錄,在檢視中是去重的,但是在運用時候不是的,這在呼叫的時候必須注意。2.查詢出結果的時候...

網頁程式設計小經驗 2

網頁程式設計小經驗 資料繫結dictionary 一直都在想如何可以把dictionary或者dictionarylist繫結到資料來源控制項 比如 griedview datagrid detailsview repeater等等 找了好久才發現是可以的 拿repeater為例 dictionar...

用vscode開發前端的小經驗

前言 就是記錄一下 首先是配置 使vscode中文顯示 chinese simplified language pack for visual studio code 使用vue vue vscode snippets 設定setting vetur 在瀏覽器開啟,在html檔案頁面右鍵。open ...