用Android studio做一个可以运行的小程序,闹钟也行,然后可以连到手机,感谢大神。

用Android studio做一个可以运行的小程序,闹钟也行,然后可以连到手机,感谢大神。,第1张

环境搭建就不讲了,直接说开发。

闹钟程序开发中的要点就是:

1、时间选择对话框(TimePicker)

2、获取闹钟管理器并对其进行设置

3、注册广播接收器

掌握了这两点,写程序就很简单了。

1、新建android项目: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="http://schemas.android.com/apk/res/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这个activity,在该Activity中需要做这样几件事:

获取界面上的两个按钮组件,并给其绑定事件监听器

第一个时间按钮,点击后,显示时间选择对话框(TimePicker),供选择小时和分钟,并设置闹钟

第二个按钮,点击之后需要当前设定的闹钟

比较难写的代码就是闹钟设置:

//设置时间

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) {

//更新按钮上的时间

timeBtn.setText(formatTime(h,m))

//设置日历的时间,主要是让日历的年月日和当前同步

calendar.setTimeInMillis(System.currentTimeMillis())

//设置日历的小时和分钟

calendar.set(Calendar.HOUR_OF_DAY, h)

calendar.set(Calendar.MINUTE, m)

//将秒和毫秒设置为0

calendar.set(Calendar.SECOND, 0)

calendar.set(Calendar.MILLISECOND, 0)

//建立Intent和PendingIntent来调用闹钟管理器

Intent intent = new Intent(Alarm.this,AlarmReceiver.class)

PendingIntent pendingIntent = PendingIntent.getBroadcast(Alarm.this, 0, intent, 0)

//获取闹钟管理器

AlarmManager alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE)

//设置闹钟

alarmManager.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), pendingIntent)

alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), 10*1000, pendingIntent)

Toast.makeText(Alarm.this, "设置闹钟的时间为:"+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为创建时间选择对话框。为了能够看到效果,我给闹钟添加了重复提醒:alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), 10*1000, pendingIntent)。

还要为取消闹钟按钮添加事件监听器:

Java代码  

//取消闹钟按钮事件监听

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, "闹钟已经取消!", Toast.LENGTH_SHORT).show()

}

})

在点击取消闹钟按钮时,取消之前设置的闹钟,核心代码就4行。

4、编写广播接收器,用来接收闹钟的广播事件,然后进行相关处理,

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, "闹钟时间到了!", Toast.LENGTH_SHORT).show()

}

}

这个代码就很简单了,主要是要继 承 BroadcastReceiver 这个类,然后重写onRecive方法。onRecive方法在闹钟的时间达到之后会执行,在这里我们可以做自己的事情,比如启动某个程序,或者播放铃声,我这里就是简单的提示一下,使用的是Toast。

5、在android的AndroidManifest.xml文件中注册广播接收器:

<manifest xmlns:android="http://schemas.android.com/apk/res/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" />,这也是闹钟程序的关键,如果不做这个配置,那么时间到了之后,闹钟将不会提示。

接下来就是到模拟器上测试,运行截图如上图。程序源代码见附件。

连接哪里的数据库,?远程吗,还是本地

本地的话我这有,连接远程数据库的话,弄不了,需要写web端去连接数据库

本地数据库就用android自带的sqlite数据库

今天凌晨刚过,此前传闻已久的微信小程序功能就正式的来到了大家面前。作为继公众号、服务号、企业号之后的微信又一重大功能,相信很多朋友都对它十分期待。那么小程序究竟是什么?怎么找到小程序?小程序有哪些使用技巧?小程序能否干掉APP?它又会为行业带来哪些改变呢?别着急,在接下来的这篇文章里,你将找到你想要的全部答案。

微信小程序

什么是小程序?

根据微信官方给这款产品的定义来看,微信小程序属于一种无需安装,即用即开的“手机应用”。用户通过扫描二维码、使用搜索功能以及点击朋友分享给自己的链接就可以进入小程序。不过值得注意的是,目前小程序还不支持分享到朋友圈。

从目前的使用上看,小程序在很多方面做得都十分接近APP。可以在桌面创建图标、支持后台单独显示、以及拥有美观的UI界面。

什么是微信小程序

如何找到小程序?

和传统的应用程序不同,小程序并不能在手机的应用商店中进行搜索。而其“父亲”微信内同样没有提供小程序商店的入口。那么,这样的情况下我们该如何找到小程序呢?

微信官方为我们提供了三种进入到小程序的方式。在知道小程序名字的时候,用户可以通过搜索功能直接对其进行搜索。而微信更希望的小程序使用场景则是通过扫码进入。例如:在公交站,你可以直接扫描站牌的二维码获取公交到达的时间信息等等。除此之外,微信还为用户提供了分享功能,当然,目前分享功能仅限分享给朋友或羣组,还不能分享到朋友圈。

如何找到微信小程序

当然,对于安卓用户来说,在小程序页面内也为用户提供了添加到桌面的选项,让用户可以更加方便的打开常用的小程序。微信内的“发现”当中,也为使用过的小程序提供了入口。

怎么使用小程序&小程序使用技巧

事实上,小程序的使用逻辑与Apps的使用逻辑是相同的,小程序更像是轻量版的APP应用。不过值得注意的是,小程序本身的属性决定了它有着很多自己的特色。接下来,笔者就与大家一起聊一聊小程序的使用技巧。

如何使用微信小程序

安卓用户可将小程序发送到桌面

因为系统更加开放的原因,安卓用户将可以直接将小程序发送到桌面生成程序图标。根据笔者对小程序图标设计的观察,目前小程序和APP的图标设计存在着一定的区别。不过笔者还不确定究竟是巧合还是软件开发商的刻意为之。

如何将小程序发送到桌面

微信小程序图标有着非常统一的规范,每个小程序的图标都是菱角分明的正四边形。这一点与众多安卓浏览器“将图标发送到桌面”的功能十分相似。(图中第一排为小程序图标,第二排为浏览器书签图标,第三排为APP图标)

通过扫一扫功能打开应用不支持长按识别

为了增加与服务号之间的区分度,微信在入口、推荐方式等很多途径对小程序作出了限制。除了我们上文已经提到的不支持分享到朋友圈之外,微信甚至对于小程序通过扫一扫进入到方式也作出了限制。用户无法通过识别二维码的方式进入到小程序当中,而只能通过扫码的方式进入

小程序会消耗内存

我们都知道,无需安装,即用即开是小程序的一大优点。不过这并不意味着小程序可以逆天到不消耗资源。当我们使用微信打开小程序的时候,微信所占用的内存资源是会明显上升的。

小程序消耗的内存是多少

小程序的优势:没有恼人的通知

除此之外,没有恼人的通知同样是小程序的一大优势。举个例子,在不进行通知管理的情况下,微信视频在后台运行时视频内容推荐总会不时d出。不过如果使用小程序,这些恼人的推荐内容就不会再出现了。不仅如此,可能是小程序推广期的原因,目前使用小程序观看视频即使不是会员也可以观看5s广告后跳过广告,体验更加出色。

目前小程序遍及的类目

目前, 微信官方已经开放了包括商业服务、公益、IT科技、餐饮、旅游、电商平台等18个大类的开发,通过微信小程序,我们可以完成购物、外卖、生活服务等一系列的活动。不过值得注意的是,很多人关注的“游戏”类目,目前还未开放,所以如果你想玩到小程序游戏,可能还要多等一等。

小程序优势

小程序干掉APP?

在小程序发布之后,有关小程序干掉APP的言论在互联网上可谓是层出不穷。那么接下来,我们就也来谈一谈,小程序究竟能否干掉APP。

在笔者前段时间有关小程序的文章中就曾提到:小程序更像是基于H5的“云应用”,而随着云技术的逐渐普及,云应用会是未来几乎已无悬念。不过,要说微信小程序将会干掉APP们,笔者依旧认为是一个“伪命题”。

首先,微信本身的属性就已经限制了它成为“革命者”的可能。就目前而言,微信本身仍然在APP的范畴之内而且,虽然在国内应用领域微信几乎有着最强的号召力和影响力,但是想要靠其一家干掉APP,依旧是一件不可能的事情。

而另一方面,其实在此之前,例如火狐FireFox OS、Google Chrome OS、阿里YUNOS,已经有很多举足轻重的互联网公司正在OS领域对云应用进行探讨了。不过由于云计算能力和网络方面的限制,目前还没有一家称得上成功。FireFox OS前年末已经“牺牲”,YUNOS的云端应用被压缩在一个最左屏内,仍需兼容Android生存,Chrome OS设备虽有所增长,但归其原因更多的是因为价格低廉。

综合来看,似乎在目前的环境下讨论“云应用”普及,还为时过早。

● 小程序会带来哪些改变?

那么,既然不能干掉APP,小程序又能带来哪些改变呢?难道小程序的作用真的仅限于“拯救16GB iPhone”吗?笔者认为,微信小程序的到来至少会带来下面两点影响:

创业者新的狂欢

毫无疑问,对于很多创业者来说,小程序将会成为他们新的创业风口。依托着微信背后巨大的流量资源,风口上的小程序开发者极有可能会成为下一批“飞猪”。对于开发者而言,小程序拥有更低的开发时间和人力资本,简单来说就是“省钱”,而且它还更容易更新和维护,微信方面对于小程序的政策也十分适合创业者们:修改无需等待审覈,迭代后马上能看到效果,这又为开发者省去了很多麻烦和时间成本。

其实,这样的桥段在此之前的公众号和服务号上就曾上演过。每一次新的东西出现总会有一批抓住红利获得成功的人。小程序自然也是其一。

H5技术的普及

除此之外,笔者认为小程序可能会带来的另一大影响则在HTML5技术上。微信小程序是基于H5开发的程序,但用了类似于JS-SDK的框架(百度以前是clouda框架),提供了更多的接口和组件,让程序更加流畅,体验接近原生APP(Native App)。从根本上讲,小程序虽然不是H5,但却与H5有着千丝万缕的联系。

依靠着微信的影响力,小程序或可以让如今混乱和普及度不高的H5技术变得更加规范和大众化。这一点无论对网页技术的发展,还是对于未来云应用的普及,都是强有力的助燃剂。

后序:致敬苹果的微信小程序


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7934835.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-11
下一篇2023-04-11

发表评论

登录后才能评论

评论列表(0条)

    保存