www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 嵌入式 > 嵌入式軟件
[導讀] 一、實現(xiàn)效果:最近在項目中需要做類似于上圖顯示的效果,里面的數(shù)字和稱謂是動態(tài)獲取的,對于這種顯示效果,有如下兩種解決方案來處理:(1)通過代碼動態(tài)設(shè)置TextView的內(nèi)

 一、實現(xiàn)效果:

最近在項目中需要做類似于上圖顯示的效果,里面的數(shù)字和稱謂是動態(tài)獲取的,對于這種顯示效果,有如下兩種解決方案來處理:

(1)通過代碼動態(tài)設(shè)置TextView的內(nèi)容,比如:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
/**
     * 顯示今日狀態(tài)
     *
     * */
    private void showTodayState( int totalUser, float upRate, String hornor, char level ){
        StringBuilder todayStateStr = new StringBuilder( );
        todayStateStr.append( 您正與 );
        todayStateStr.append( totalUser );
        todayStateStr.append( 位朋友在一起游戲,本周排名提升了 );
        todayStateStr.append( upRate );
        todayStateStr.append( ,獲得 );
        todayStateStr.append( hornor );
        todayStateStr.append( 的稱號,等級為 );
        todayStateStr.append( level );
        todayStateStr.append( ! );
         
        mTodayStateTxt.setText( todayStateStr );
    }

然后調(diào)用該方法:

1
showTodayState( 1234567, 68.376f, 爆頭大師, ‘B‘ );

(2)在string.xml文件中定義一個字符串,然后在代碼中通過String.format方法來格式化該字符串,比如:

1
<string name="today_state_string">您正與%1$d位朋友在一起游戲,本周排名提升了%2$.3f,獲得%3$s的稱號,等級為%4$c!</string>

在代碼中做如下定義:

1
2
3
4
5
6
7
8
/**
     * 顯示今日狀態(tài)
     *
     * */
    private void showTodayState( int totalUser, float upRate, String hornor, char level ){
        String todayStateStr = String.format( getResources( ).getString( R.string.today_state_string), totalUser, upRate, hornor, level );
        mTodayStateTxt.setText( todayStateStr );
    }

本文介紹第二種處理方式,因為顯然第二種處理方式更方便,特別是需要動態(tài)改變多個顯示狀態(tài)的時候。

二、字符串資源格式化詳細介紹:

1
<string name="today_state_string">您正與%1$d位朋友在一起游戲,本周排名提升了%2$.3f,獲得%3$s的稱號,等級為%4$c!</string>

從上面這行字符串的定義可以看出,格式化字符串資源的格式為:

%+參數(shù)位置+$+格式化類型,其中:

參 數(shù) 位 置:從1開始依次編號,String.forma方法的第二個參數(shù)為格式化的第一個參數(shù),后面依次遞增;

格式化類型:

s 字符串

f 浮點數(shù)

d 整型數(shù)

c 字符類型

其實懂點C語言的朋友一看就知道和printf的打印輸出格式化差不多。

三、注意事項:

1、在string.xml文件中定義好格式化的字符串資源,通過代碼動態(tài)設(shè)置字符串內(nèi)容時,必須確保String.format方法里面的參數(shù)不少于字符串資源中定義的格式化參數(shù)個數(shù)(實踐證明多了參數(shù)是不會報異常的),比如在上面的例子中字符串有四個格式化參數(shù),如果代碼寫成這樣:

1
showTodayState( int totalUser, float upRate, String hornor )//少了level參數(shù)

則會報如下異常:

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

其他電腦(比如安卓手機/平板電腦)的屏幕壞了,你可能想在安排維修之前緊急訪問一些東西。你可以使用android的USB OTG功能(是的,幾乎每個android都支持這個功能,你可以將鼠標和鍵盤連接到它)。

關(guān)鍵字: USB 鼠標 Android 樹莓派

在C語言編程中,字符串處理是基礎(chǔ)操作,但傳統(tǒng)庫函數(shù)如strcat()因缺乏內(nèi)存邊界檢查而成為安全漏洞的溫床。根據(jù)MITRE的CWE數(shù)據(jù)庫統(tǒng)計,緩沖區(qū)溢出漏洞中有超過30%源于不安全的字符串操作。本文將設(shè)計一個安全增強的字...

關(guān)鍵字: 字符串 strcat C語言

C語言因其高效性和底層控制能力被廣泛應(yīng)用于系統(tǒng)編程,但其缺乏內(nèi)置的邊界檢查和類型安全機制,使得輸入驗證成為保障程序安全的核心環(huán)節(jié)。從格式化字符串漏洞到整數(shù)溢出攻擊,未經(jīng)嚴格驗證的輸入可能導致緩沖區(qū)溢出、權(quán)限提升甚至遠程代...

關(guān)鍵字: C語言 字符串

Google 宣布與中國 AR 科技公司 XREAL 達成深度戰(zhàn)略合作,聯(lián)合推出全球首款專為 Android XR 平臺打造的旗艦級 AR 眼鏡 Project Aura。

關(guān)鍵字: Google XREAL Android XR眼鏡 AR

繼停止維護AOSP開源項目后,谷歌母公司Alphabet近日被曝在其安卓系統(tǒng)(Android)、Pixel手機以及Chrome瀏覽器等部門裁員數(shù)百人。這一舉措引發(fā)了業(yè)界的廣泛關(guān)注,也引發(fā)了對谷歌未來業(yè)務(wù)布局的諸多猜測。

關(guān)鍵字: 谷歌 AOSP Android 裁員

在本教程中,我們將使用Capacitor 6、Angular和TypeScript構(gòu)建一個Android應(yīng)用程序,該應(yīng)用程序通過串行端口連接到BleuIO USB加密狗。該應(yīng)用程序允許用戶直接從Android設(shè)備發(fā)送和接...

關(guān)鍵字: Android USB 電容器 BLE設(shè)備

早前媒體報道谷歌將停止維護Android開源項目(AOSP),將Android開發(fā)全面轉(zhuǎn)向內(nèi)部閉源分支,目前這一消息已經(jīng)得到谷歌官方確認。

關(guān)鍵字: 谷歌 Android 開源

本項目演示了如何通過OTG (on - go) USB在Android設(shè)備上使用BleuIO USB加密狗作為串行端口。使用電容器6和@adeunis/電容器-串行插件,我們建立串行連接,發(fā)送AT命令,并實時讀取響應(yīng)。該...

關(guān)鍵字: 電容器 Android 傳感器 微控制器 嵌入式系統(tǒng)

在Linux操作系統(tǒng)中,Android Debug Bridge(ADB)是一個功能強大的命令行工具,它允許開發(fā)者在計算機和Android設(shè)備之間建立通信,從而進行調(diào)試、管理、安裝應(yīng)用等操作。本文將詳細介紹在Linux系...

關(guān)鍵字: Linux系統(tǒng) Android Debug ADB
關(guān)閉