安卓小程序開發(fā)項(xiàng)目(安卓開發(fā)小程序app)
本篇文章給大家談?wù)劙沧啃〕绦蜷_發(fā)項(xiàng)目,以及安卓開發(fā)小程序app對(duì)應(yīng)的知識(shí)點(diǎn),希望對(duì)各位有所幫助,不要忘了收藏本站喔。
本文目錄一覽:
- 1、想開發(fā)一個(gè)手機(jī)APP小程序?
- 2、微信小程序開發(fā)的完整流程介紹,新手必讀
- 3、用Android studio做一個(gè)可以運(yùn)行的小程序,鬧鐘也行,然后可以連到手機(jī),感謝大神。
- 4、寫給Android開發(fā)者看的『微信小程序和Android開發(fā)的對(duì)比』
- 5、824的安卓微信模塊怎么制作
想開發(fā)一個(gè)手機(jī)APP小程序?
想開發(fā)一個(gè)手機(jī)APP小程序,就要先了解一下APP開發(fā)的流程,下面是APP小程序軟件定制開發(fā)專業(yè)公司——迅眾科技總結(jié)的大致流程:
UI設(shè)計(jì)師:負(fù)責(zé)APP頁(yè)面設(shè)計(jì)。
服務(wù)端開發(fā)工程師:主要負(fù)責(zé)整體APP運(yùn)行運(yùn)行邏輯設(shè)計(jì)
前端開發(fā)工程師2名:因安卓和ios兩端互不兼容,各配備一名工程師用于制作前端交互頁(yè)面。
這是一個(gè)APP項(xiàng)目必須配備的最低人員配置,越大的項(xiàng)目需要配備的人員越多。
一般來(lái)說(shuō)一個(gè)軟件開發(fā)首先要做一個(gè)需求梳理,這個(gè)過程大概需要三天或者更久。因?yàn)楹芏嗫蛻舻南敕ê芏?,卻特別亂,沒有實(shí)際意義。也有很多客戶直接發(fā)過來(lái)一些圖片或者說(shuō)一個(gè)軟件,讓照著做。根本不了解他給的這些樣本有多少功能,如果全部實(shí)現(xiàn)出來(lái)需要多長(zhǎng)的時(shí)間。那些人人皆知的軟件每年的維護(hù)和開發(fā)都需要千萬(wàn)元資金作支持,而你找的外包公司,不僅技術(shù)實(shí)力達(dá)不到,你也沒有那個(gè)預(yù)算。
所以在需求溝通時(shí)盡量能細(xì)化,細(xì)化到甚至一個(gè)頁(yè)面的跳轉(zhuǎn)動(dòng)畫都要敲定,否則我們覺得好的,你不一定滿意,最終可能做出來(lái)的東西和你想的不一樣。
需求敲定,正式開工,這可能就需要60天左右的時(shí)間了,包含客戶端開發(fā),服務(wù)端開發(fā),最后客戶端和服務(wù)端進(jìn)行接口對(duì)接。一個(gè)頁(yè)面基本上需要一天時(shí)間來(lái)做,這樣 就基本可以確定一個(gè)APP開發(fā)的周期了。
APP開發(fā)出來(lái)后一定會(huì)存在各種bug,這就需要測(cè)試人員進(jìn)行破壞性暴力測(cè)試,盡可能地找出APP的漏洞。提交給工程師修改,然后再測(cè)再改,直到APP趨于完善。最終做出交付版本。
以上就是《想開發(fā)一個(gè)手機(jī)APP小程序?》的回答內(nèi)容,除了APP開發(fā)流程還有APP開發(fā)價(jià)格和工期等疑問,請(qǐng)關(guān)注迅眾科技!
微信小程序開發(fā)的完整流程介紹,新手必讀
自從跳一跳小程序游戲出現(xiàn)后,一夜之間,小程序就變得家喻戶曉了,功能開發(fā)也越來(lái)越豐富,在微信搜一搜就會(huì)發(fā)現(xiàn)許多大品牌早已有自己的小程序了,越來(lái)越多的企業(yè)和商家都看中了這個(gè)風(fēng)口,想快速開發(fā)出一款屬于自己的小程序,那小程序開發(fā)的流程是怎樣的呢?
一、準(zhǔn)備好小程序開發(fā)所要用到的材料
企業(yè)開發(fā)小程序所需的材料有:
公司的營(yíng)業(yè)執(zhí)照、法人的手機(jī)號(hào)、身份證號(hào)、微信號(hào)掃描、認(rèn)證單——用于微信公眾號(hào)認(rèn)證。
銀行對(duì)公賬號(hào)、銀行開戶許可證、企業(yè)網(wǎng)銀——申請(qǐng)支付接口。
小程序logo、企業(yè)介紹。產(chǎn)品信息、聯(lián)系方式等——小程序開發(fā)。
注: 個(gè)人可以申請(qǐng)微信小程序,但無(wú)法申請(qǐng)微信支付接口。
二、微信小程序開發(fā)的完整流程介紹
1. 設(shè)計(jì)原型圖,把想要實(shí)現(xiàn)的功能大概畫出來(lái),這一步主要探討的是邏輯思維,只有把邏輯理清楚了,后面的工作才會(huì)開展的更順暢,需要客戶和設(shè)計(jì)師反復(fù)溝通確定才可以實(shí)現(xiàn),減少溝通過程中存在的一些誤差。
2. 注冊(cè)小程序賬號(hào),需要支付300元的認(rèn)證費(fèi)用,假如需要使用微信支付功能,那還要申請(qǐng)支付接口。
3. UI設(shè)計(jì),UI設(shè)計(jì)師根據(jù)原型圖、產(chǎn)品特點(diǎn)、公司文化等來(lái)設(shè)計(jì)界面,比較注重外觀和細(xì)節(jié),優(yōu)質(zhì)的界面會(huì)讓人有流連忘返的感覺,讓用戶把小程序添加到收藏列表中。
4. 后端開發(fā),根據(jù)原型圖制作系統(tǒng)后臺(tái)和開發(fā)相關(guān)接口,包括后臺(tái)數(shù)據(jù)管理、和小程序前臺(tái)交互的接口。小程序接口需要使用HTTPS,也就是服務(wù)器必須按照SSL證書,同時(shí)需要加入相關(guān)域名到管理后臺(tái)。
5. 前端開發(fā),小程序前端工程師除了制作界面外,還需要對(duì)接后臺(tái)的接口來(lái)進(jìn)行數(shù)據(jù)交互,從而制作出完整的流程,制作完成生成體驗(yàn)版,供大家內(nèi)部測(cè)試。
6. 測(cè)試環(huán)節(jié),小程序也講究兼容性,測(cè)試人員要測(cè)一下開發(fā)出來(lái)的功能是否能正常使用,蘋果和安卓版本是否會(huì)有誤差,確保小程序的各項(xiàng)功能正常。
7. 最后提交申請(qǐng)上線,體驗(yàn)版測(cè)試通過后,管理員可以提交到平臺(tái)審核,平臺(tái)審核通過后即可發(fā)布上線,供所有平臺(tái)用戶使用。
用Android studio做一個(gè)可以運(yùn)行的小程序,鬧鐘也行,然后可以連到手機(jī),感謝大神。
環(huán)境搭建就不講了,直接說(shuō)開發(fā)。
小鬧鐘程序開發(fā)中的要點(diǎn)就是:
1、時(shí)間選擇對(duì)話框(TimePicker)
2、獲取鬧鐘管理器并對(duì)其進(jìn)行設(shè)置
3、注冊(cè)廣播接收器
掌握了這兩點(diǎn),寫程序就很簡(jiǎn)單了。
1、新建android項(xiàng)目:Alarm,sdk版本選擇2.2,Package name:com.lql.activity,Main Activity:Alarm
2、編寫界面:直接修改layout中的main.xml文件,代碼如下:
Xml代碼
?xml?version="1.0"?encoding="utf-8"?
LinearLayout?xmlns:android=""
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center_vertical"
Button
android:id="@+id/timeBtn"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/time"
android:textSize="20sp"
/
Button
android:id="@+id/cancelAlarmBtn"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/cancelAlarm"
/
/LinearLayout
界面的效果如下:
3、修改Alarm.java這個(gè)activity,在該Activity中需要做這樣幾件事:
獲取界面上的兩個(gè)按鈕組件,并給其綁定事件監(jiān)聽器
第一個(gè)時(shí)間按鈕,點(diǎn)擊后,顯示時(shí)間選擇對(duì)話框(TimePicker),供選擇小時(shí)和分鐘,并設(shè)置鬧鐘
第二個(gè)按鈕,點(diǎn)擊之后需要當(dāng)前設(shè)定的鬧鐘
比較難寫的代碼就是鬧鐘設(shè)置:
//設(shè)置時(shí)間
Java代碼??
timeBtn.setOnClickListener(new?Button.OnClickListener(){
@Override
public?void?onClick(View?arg0)?{
Log.d(TAG,?"click?the?time?button?to?set?time");
calendar.setTimeInMillis(System.currentTimeMillis());
new?TimePickerDialog(Alarm.this,new?TimePickerDialog.OnTimeSetListener()?{
@Override
public?void?onTimeSet(TimePicker?arg0,?int?h,?int?m)?{
//更新按鈕上的時(shí)間
timeBtn.setText(formatTime(h,m));
//設(shè)置日歷的時(shí)間,主要是讓日歷的年月日和當(dāng)前同步
calendar.setTimeInMillis(System.currentTimeMillis());
//設(shè)置日歷的小時(shí)和分鐘
calendar.set(Calendar.HOUR_OF_DAY,?h);
calendar.set(Calendar.MINUTE,?m);
//將秒和毫秒設(shè)置為0
calendar.set(Calendar.SECOND,?0);
calendar.set(Calendar.MILLISECOND,?0);
//建立Intent和PendingIntent來(lái)調(diào)用鬧鐘管理器
Intent?intent?=?new?Intent(Alarm.this,AlarmReceiver.class);
PendingIntent?pendingIntent?=?PendingIntent.getBroadcast(Alarm.this,?0,?intent,?0);
//獲取鬧鐘管理器
AlarmManager?alarmManager?=?(AlarmManager)getSystemService(ALARM_SERVICE);
//設(shè)置鬧鐘
alarmManager.set(AlarmManager.RTC_WAKEUP,?calendar.getTimeInMillis(),?pendingIntent);
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP,?calendar.getTimeInMillis(),?10*1000,?pendingIntent);
Toast.makeText(Alarm.this,?"設(shè)置鬧鐘的時(shí)間為:"+String.valueOf(h)+":"+String.valueOf(m),?Toast.LENGTH_SHORT).show();
Log.d(TAG,?"set?the?time?to?"+formatTime(h,m));
}
},calendar.get(Calendar.HOUR_OF_DAY),calendar.get(Calendar.MINUTE),true).show();
}
});
代碼里面有注釋,這里就不多解釋了,其中new TimePickerDialog為創(chuàng)建時(shí)間選擇對(duì)話框。為了能夠看到效果,我給鬧鐘添加了重復(fù)提醒:alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), 10*1000, pendingIntent);。
還要為取消鬧鐘按鈕添加事件監(jiān)聽器:
Java代碼??
//取消鬧鐘按鈕事件監(jiān)聽
final?Button?cancelAlarmBtn?=?(Button)findViewById(R.id.cancelAlarmBtn);
cancelAlarmBtn.setOnClickListener(new?Button.OnClickListener(){
@Override
public?void?onClick(View?arg0)?{
Intent?intent?=?new?Intent(Alarm.this,AlarmReceiver.class);
PendingIntent?pendingIntent?=?PendingIntent.getBroadcast(Alarm.this,?0,?intent,?0);
//獲取鬧鐘管理器
AlarmManager?alarmManager?=?(AlarmManager)getSystemService(ALARM_SERVICE);
alarmManager.cancel(pendingIntent);
Toast.makeText(Alarm.this,?"鬧鐘已經(jīng)取消!",?Toast.LENGTH_SHORT).show();
}
});
在點(diǎn)擊取消鬧鐘按鈕時(shí),取消之前設(shè)置的鬧鐘,核心代碼就4行。
4、編寫廣播接收器,用來(lái)接收鬧鐘的廣播事件,然后進(jìn)行相關(guān)處理,
Java代碼??
public?class?AlarmReceiver?extends?BroadcastReceiver?{
/*?(non-Javadoc)
*?@see?android.content.BroadcastReceiver#onReceive(android.content.Context,?android.content.Intent)
*/
@Override
public?void?onReceive(Context?arg0,?Intent?data)?{
Log.d(Alarm.TAG,?"the?time?is?up,start?the?alarm...");
Toast.makeText(arg0,?"鬧鐘時(shí)間到了!",?Toast.LENGTH_SHORT).show();
}
}
這個(gè)代碼就很簡(jiǎn)單了,主要是要繼 承?BroadcastReceiver 這個(gè)類,然后重寫onRecive方法。onRecive方法在鬧鐘的時(shí)間達(dá)到之后會(huì)執(zhí)行,在這里我們可以做自己的事情,比如啟動(dòng)某個(gè)程序,或者播放鈴聲,我這里就是簡(jiǎn)單的提示一下,使用的是Toast。
5、在android的AndroidManifest.xml文件中注冊(cè)廣播接收器:
manifest xmlns:android=""
Xml代碼
package="com.ql.activity"
android:versionCode="1"
android:versionName="1.0"
application?android:icon="@drawable/icon"?android:label="@string/app_name"
receiver?android:name=".AlarmReceiver"?android:process=":remote"?/
activity?android:name=".Alarm"
android:label="@string/app_name"
intent-filter
action?android:name="android.intent.action.MAIN"?/
category?android:name="android.intent.category.LAUNCHER"?/
/intent-filter
/activity
/application
uses-sdk?android:minSdkVersion="8"?/
/manifest
核心的配置為receiver android:name=".AlarmReceiver" android:process=":remote" /,這也是鬧鐘程序的關(guān)鍵,如果不做這個(gè)配置,那么時(shí)間到了之后,鬧鐘將不會(huì)提示。
接下來(lái)就是到模擬器上測(cè)試,運(yùn)行截圖如上圖。程序源代碼見附件。
寫給Android開發(fā)者看的『微信小程序和Android開發(fā)的對(duì)比』
微信小程序近期可謂是動(dòng)作頻出,僅最近新增的能力就有:
種種跡象表明,微信對(duì)小程序的期望值是很大,所以在它推出的幾個(gè)月效果沒到達(dá)預(yù)期的情況下,之前的很多『克制』也就逐漸變成『放肆』了 —— 不過不管小程序以后的發(fā)展到底怎樣,對(duì)我們開發(fā)者來(lái)發(fā),多了解一些總是沒有壞處的。
他山之石,可以攻玉。
對(duì)于是技術(shù)人來(lái)說(shuō),多了解一些不同的技術(shù)、不同的開發(fā)模式、不同的架構(gòu)思想,提高技術(shù)『廣度』,對(duì)于自己的成長(zhǎng)是十分必要的。
所以,本文就是從一個(gè) Android 開發(fā)者的角度,從項(xiàng)目工程方便切入,來(lái)分析一下『微信小程序』跟『Android App』開發(fā)上的一些異同。
『微信小程序』開發(fā)是一個(gè)相對(duì)較新的技術(shù),希望通過本文,能讓你對(duì)它多一些了解。
因?yàn)閮?nèi)容是從Android開發(fā)的角度來(lái)談的,所以我假設(shè)你已經(jīng)對(duì) Android 開發(fā)比較熟悉了。并且對(duì)微信小程序的開發(fā)也比較感興趣,如果要是再能有些 javascript、css 的基礎(chǔ)的話那就更好了!
Android 開發(fā)我們已經(jīng)比較熟悉——
作為對(duì)比,進(jìn)行微信小程序開發(fā)所用的語(yǔ)言是這些——
wxml (WeiXin Markup Language) 基本約等于是 xml。微信之所以沒有直接使用 xml ,可能是為了以后擴(kuò)展方便一些(野心很大)。
同理, wxss (WeiXin Style Sheets) 基本約等于是 css。也是微信擴(kuò)展了一些功能,比如統(tǒng)一的尺寸單位 rpx 。
對(duì)于 Android 來(lái)說(shuō),對(duì)于頁(yè)面的描述基本上在 xml 中定義的,比如:
這是一個(gè)簡(jiǎn)單的典型的示例,這個(gè)文件就是描述了兩部分內(nèi)容:
some.wxss:
很明顯可以看出:wxml 是負(fù)責(zé)了 頁(yè)面結(jié)構(gòu) 的展示;而 wxss 則負(fù)責(zé)了對(duì) 頁(yè)面樣式 的定義。
這種把結(jié)構(gòu)和樣式分離的做法,其實(shí)是延續(xù)了網(wǎng)頁(yè)開發(fā)中的習(xí)慣(html + css)。
這樣做的好處起碼有兩個(gè):
——看起來(lái)還是挺簡(jiǎn)單的結(jié)構(gòu):
這三個(gè)文件用以描述小程序 app 相關(guān)的內(nèi)容,他們的命名是固定這樣的,位置也固定是在根目錄下。
app.js 基本相當(dāng)于 Android 中的 Application 類,文件中主要是有一個(gè) App() 函數(shù),來(lái)進(jìn)行小程序的初始化操作。
app.json 的作用跟 Android 中的 AndroidMainifest.xml 文件很相似 —— 都是靜態(tài)化的配置文件。
app.wxss 定義全局的樣式 —— 其定義的樣式會(huì)作用于每個(gè)頁(yè)面。比如在 app.wxss 中加入:
就可以給所有的 text 控件添加 5px 的 padding 。
當(dāng)然,頁(yè)面本身的 xxPage.wxss 可以定義局部樣式來(lái)覆蓋全局樣式。
根目錄下的 utils 文件夾中有一個(gè) util.js 文件,這個(gè)故名思意,是類似于 Java 中的一些工具類的存在。
utils 文件夾其實(shí)是一個(gè)非必須的結(jié)構(gòu),而它之所以出現(xiàn)在官方的 HelloWorld 工程中,是作為一個(gè)代表,表明了開發(fā)者在這里是可以自定義新的文件夾和結(jié)構(gòu)的。微信小程序作為一個(gè)使用 js 來(lái)開發(fā)的平臺(tái),是可以使用許多第三方的 js 庫(kù)的,對(duì)于這些第三方庫(kù),以及其他的圖片資源等,都可以放到自定義的文件夾中。
pages 文件夾下包含兩個(gè)子目錄:index 和 logs ,兩個(gè)目錄的結(jié)構(gòu)都是基本一樣的,都是包含四個(gè)相同主名稱的文件: xx.js、xx.wxml、xx.json、xx.wxss 這幾個(gè)文件。
這樣的一個(gè)典型結(jié)構(gòu)表明它是一個(gè)小程序的頁(yè)面,四個(gè)文件的作用分別是:
在視圖的動(dòng)態(tài)顯示上,微信小程序使用了 數(shù)據(jù)綁定(data-binding) 的方式。
如果你之前使用過 AngularJS 或者 Vue.js 等這些流行的 js 框架,那么你肯定對(duì) 數(shù)據(jù)綁定 并不陌生。它是一種把一個(gè)控件的屬性綁定到某個(gè)數(shù)據(jù)對(duì)象(view-model)的屬性的方法,這樣在改變數(shù)據(jù)對(duì)象屬性的時(shí)候,所對(duì)應(yīng)的控件屬性也就會(huì)相應(yīng)變化 —— 在開發(fā)中,這種方式會(huì)使得對(duì) View 層的顯示控制變得十分簡(jiǎn)單、自然。
基于此,軟件工程的流行架構(gòu)方式也在之前的 MVC 、 MVP 之外,又多了一個(gè) —— MVVM(Model-View-ViewModel) 。
數(shù)據(jù)綁定 這種方式現(xiàn)在是如此的流行,以致于 Android 官方都出了一個(gè) [Data Binding Library] ( ) 來(lái)支持?jǐn)?shù)據(jù)綁定,但是由于成熟度等原因,目前還并沒有成為主流,Android 中的主流視圖顯示方式,還是通過開發(fā)者手動(dòng)給每個(gè)控件 set 數(shù)據(jù)。
—— 單從這一點(diǎn)上看,微信小程序的開發(fā)模式是比原生 Andorid 要『先進(jìn)』一些的~ ??
小程序雖然是和前端 H5 頁(yè)面一樣是用 js 來(lái)開發(fā),但是由于它最終運(yùn)行的平臺(tái)不再是瀏覽器,而是和 App 的表現(xiàn)幾無(wú)二致,所以頁(yè)面的生命周期也是和 App 差不多的。
一個(gè)小程序頁(yè)面的典型生命周期如下:
對(duì)比一下 Android 的 Activity 生命周期 :
微信小程序的頁(yè)面生命周期稍微簡(jiǎn)單一些,但主要的思想跟 Activity 生命周期基本是一致的。
小程序的官方 IDE 是微信自己出品 微信Web開發(fā)者工具 ,它內(nèi)置了一個(gè)小程序的運(yùn)行環(huán)境,本質(zhì)上是基于 Chrome 內(nèi)核的一個(gè)瀏覽器框架,算是一個(gè)模擬器了。
——它雖然跟 Android 的各種高大上的模擬器相比起來(lái)略顯簡(jiǎn)陋,但是基本該有的功能也基本都有(斷點(diǎn)、Log、網(wǎng)絡(luò)監(jiān)控等),而且由于是基于瀏覽器內(nèi)核的頁(yè)面 DOM 解析,所以運(yùn)行的速度也是像瀏覽器打開網(wǎng)頁(yè)一樣流暢,不會(huì)像 Android 模擬器那樣對(duì)系統(tǒng)資源要求很高。
另外,在綁定了開發(fā)者賬號(hào)之后,也可以用手機(jī)進(jìn)行真機(jī)調(diào)試來(lái)調(diào)試小程序,所以也能在上線前用不同的機(jī)器來(lái)進(jìn)行充分的兼容性測(cè)試。
總體來(lái)說(shuō),小程序作為一個(gè)新的形態(tài),從開發(fā)的角度,它可以算作是一個(gè)【Native開發(fā)】和【H5開發(fā)】的結(jié)合,它吸收了原生開發(fā)和 H5 開發(fā)的優(yōu)點(diǎn)。對(duì)于前端開發(fā)人員和原生開發(fā)人員來(lái)說(shuō),都可以在微信小程序中找到許多熟悉的東西。再細(xì)節(jié)的許多點(diǎn)這里就不在贅述了,大家如果有興趣,可以自己上手去體驗(yàn)一下。
綜上,自然也就有兩種人特別適合去做小程序的開發(fā)——H5的前端開發(fā)人員,以及之前的 Android/iOS 原生 App 開發(fā)者。
微信小程序的開發(fā)總體來(lái)說(shuō)是很簡(jiǎn)單的。
—— 對(duì)于前端開發(fā)者來(lái)說(shuō),了解一下原生 App 的一些相關(guān)思想即可,這些工作其實(shí)只要讀一遍小程序的開發(fā)者指南基本就差不多了。
—— 而對(duì)于原生開發(fā)者來(lái)說(shuō),只要稍微補(bǔ)一下 js 的相關(guān)知識(shí)(html/css),也基本就差不多可以上手去做了。如果你之前恰好已經(jīng)有過一些 js 的使用經(jīng)驗(yàn),那就不用多說(shuō)了,花半個(gè)小時(shí)看一下小程序的文檔,直接上!
關(guān)于作者 :
824的安卓微信模塊怎么制作
1、微信小程序注冊(cè)登錄微信公眾平臺(tái),點(diǎn)擊立即注冊(cè),選擇小程序模塊。
2、微信小程序制作對(duì)于不懂技術(shù)和編程的小白,可以采用套用模板的模式通過簡(jiǎn)單的拖拽方式一鍵生成微信小源程序,方便快捷。
3、選用合適模板在各式各樣的模板中,選擇適合自己行業(yè)的模板。
4、編輯內(nèi)容,選擇合適的模板模塊中編輯內(nèi)容,填充,豐富。編知輯完成之后,就可以發(fā)布了。
5、進(jìn)入打包小程序頁(yè)面,選擇代碼包下載微信web開發(fā)工具進(jìn)入微信道公眾平臺(tái),下載開發(fā)工具。
6、小程序項(xiàng)目管理,點(diǎn)擊添加項(xiàng)目小程序APPID即可。
安卓小程序開發(fā)項(xiàng)目的介紹就聊到這里吧,感謝你花時(shí)間閱讀本站內(nèi)容,更多關(guān)于安卓開發(fā)小程序app、安卓小程序開發(fā)項(xiàng)目的信息別忘了在本站進(jìn)行查找喔。