安卓小程序開發(fā)代碼(Android開發(fā)小程序)
今天給各位分享安卓小程序開發(fā)代碼的知識(shí),其中也會(huì)對(duì)Android開發(fā)小程序進(jìn)行解釋,如果能碰巧解決你現(xiàn)在面臨的問題,別忘了關(guān)注本站,現(xiàn)在開始吧!
小程序開發(fā)怎么做?
微信版本升級(jí)后,打開微信,點(diǎn)擊底部的“發(fā)現(xiàn)”這個(gè)菜單項(xiàng),就會(huì)發(fā)現(xiàn)升級(jí)后的“發(fā)現(xiàn)”菜單里,增加了“小程序”這樣一個(gè)功能。
2.點(diǎn)擊打開小程序后,可以看到有附近的小程序和我的小程序,附近的小程序是所在定位周邊的小程序。
下面的小程序列表可以看到的是我們之前打開過的一些小程序,如果有自己覺得很好用的小程序就可以點(diǎn)擊左上角,添加到我的小程序里面。
3.微信小程序還有具有搜索功能,打開搜索頁面可以輸入想要找的小程序。
用Android studio做一個(gè)可以運(yùn)行的小程序,鬧鐘也行,然后可以連到手機(jī),感謝大神。
環(huán)境搭建就不講了,直接說開發(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來調(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、編寫廣播接收器,用來接收鬧鐘的廣播事件,然后進(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ì)提示。
接下來就是到模擬器上測(cè)試,運(yùn)行截圖如上圖。程序源代碼見附件。
小白如何自學(xué)做小程序開發(fā)?
學(xué)習(xí)任何一門語言都要堅(jiān)持,做小程序語言JS開發(fā),肯定要先學(xué)會(huì)基本的前端只是HTML和CSS這兩個(gè)比較簡(jiǎn)單,然后就是學(xué)習(xí)JavaScript。學(xué)會(huì)這個(gè)JS就可以學(xué)習(xí)一個(gè)框架例如VUE。
學(xué)完前端還要學(xué)習(xí)后端語言例如PHP,這個(gè)相對(duì)于其他后端語言比較簡(jiǎn)單,只是學(xué)起來簡(jiǎn)單,其實(shí)也很難,學(xué)會(huì)這個(gè)語言就可以學(xué)習(xí)一個(gè)框架例如ThinkPHP或者Laravel。
到這里就可以參考視頻開發(fā)小程序,小程序一般是前后端分類,后端寫個(gè)API前端調(diào)用就行。
這些知識(shí)學(xué)好了,也可以開發(fā)別的APP應(yīng)用和網(wǎng)站,可以學(xué)習(xí)一下uni-app這個(gè)是基于VUE開發(fā)的前端框架,一套代碼可以生成IOS應(yīng)用,安卓應(yīng)用,各種百度頭條抖音微信QQ小程序。
祝您學(xué)習(xí)快樂,一點(diǎn)要堅(jiān)持!
急求一個(gè)android studio小程序源代碼,最好是紀(jì)念日app那樣的,只有最簡(jiǎn)單功能就行
主界面
這次我的測(cè)評(píng)希望可以盡可能地避免出現(xiàn)對(duì)于設(shè)計(jì)美感的主觀討論,為了達(dá)到這個(gè)目標(biāo),我特意用 Keynote 制作了三個(gè)應(yīng)用主界面的「原型圖」。
通過我做的「原型圖」可以看出,三個(gè)應(yīng)用都采用了頂部導(dǎo)航的設(shè)計(jì),而其中共有的一個(gè)按鈕是「添加新項(xiàng)目」這個(gè)使用頻次最高的功能。其次,「最美時(shí)光」和「Daybox」都將「設(shè)置」按鈕放在了頂部,而「Days Matter」則是將這個(gè)按鈕放在了接下來我們會(huì)談到的底部導(dǎo)航欄中。除此之外,「最美時(shí)光」在頂部設(shè)置了一個(gè)「更多」按鈕,用來展示最美系列的其他應(yīng)用,「Days Matter」在頂部設(shè)置了一個(gè)「分類查看」按鈕,可以呼出左邊側(cè)邊欄,用來分類查看不同的倒數(shù)日、紀(jì)念日。
「最美時(shí)光」與「Daybox」僅僅有一個(gè)頂部導(dǎo)航,而「Days Matter」則非常復(fù)古地添加了一個(gè)底部導(dǎo)航欄,這在最近類似的輕應(yīng)用中是很少見的。具體的功能我們放到后面去分析,至少雙導(dǎo)航欄的設(shè)計(jì)占據(jù)了本屬于倒數(shù)日列表的空間是毋庸置疑的,而且過多的元素排布會(huì)分散用戶的注意力。
接下來讓我們把目光轉(zhuǎn)向主界面最重要的元素——紀(jì)念日展示,雖然都是列表的展示,但是仔細(xì)觀察還是能發(fā)現(xiàn)其中的差別的?!窪ays Matter」與「Daybox」都是采用「一主多次」的排列方案:即給最重要的倒數(shù)日最大的展示空間,其他的倒數(shù)日則用窄列表排列;而「最美時(shí)光」則是采用「一視同仁」的排列方案。這兩種方法各有利弊,一句話來說就是在「視線聚焦」與「更多的展示空間」之間做抉擇,至于確定哪種方案更好,我的計(jì)劃是是要調(diào)查用戶到底需要記多少個(gè)倒數(shù)日以及倒數(shù)日之間到底有沒有輕重之分,這個(gè)在后面我會(huì)設(shè)計(jì)一個(gè)實(shí)驗(yàn)來證明。
最后我們要關(guān)注的是一個(gè)細(xì)節(jié),即如何區(qū)分「倒數(shù)」與「正數(shù)」。簡(jiǎn)單解釋一下,在應(yīng)用中我們一般要記兩種日子,一種是倒數(shù),比如「距離 X 的生日還有 XX 天」;另一種是正數(shù),比如「距離我們第一次吃飯已經(jīng)有 XX 天了」。在應(yīng)用中如何區(qū)分這兩種計(jì)數(shù)方式是我關(guān)心的一個(gè)點(diǎn),因?yàn)檫@體現(xiàn)了這款應(yīng)用是否夠嚴(yán)謹(jǐn)。先讓我們看「Days Matter」,用「已經(jīng)」、「還有」兩個(gè)中文詞匯就輕松區(qū)分開了兩種計(jì)數(shù)方式,從這點(diǎn)可以明顯地看出應(yīng)用的優(yōu)勢(shì);「最美時(shí)光」的方式也很巧妙,用[+]來表示「正數(shù)」,沒有符號(hào)則代表「倒數(shù)」,雖然會(huì)有一定的學(xué)習(xí)成本,仍可以算是一個(gè)「簡(jiǎn)約」的方案。表現(xiàn)最差的是「Daybox」,完全沒有在這上面下功夫,單單從界面上根本無法區(qū)分「正數(shù)」與「倒數(shù)」,可以說是一個(gè)敗筆哦。
關(guān)于安卓小程序開發(fā)代碼和Android開發(fā)小程序的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。