`
simgsg
  • 浏览: 96142 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Android(六)通知、样式、主题、HTML

 
阅读更多
<p><strong>一、Android中的通知 </strong></p>
<p>一般手机上边都有一个状态条,显示电池电量、信号强度、未接来电、短信...。Android的屏幕上方也具有状态条。这里所说的通知,就是在这个状态条上显示通知。</p>
<p>发送通知的步骤如下:</p>
<p>1).获取通知管理器</p>
<p>NotificationManager mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);</p>
<p>2).新建一个通知,指定其图标和标题</p>
<p>int icon = android.R.drawable.stat_notify_chat;</p>
<p>long when = System.currentTimeMillis();</p>
<p>//第一个参数为图标,第二个参数为标题,第三个为通知时间</p>
<p>Notification notification = new Notification(icon, null, when);</p>
<p>Intent openintent = new Intent(this, OtherActivity.class);</p>
<p>//当点击消息时就会向系统发送openintent意图</p>
<p>PendingIntent contentIntent = PendingIntent.getActivity(this, 0, openintent, 0);</p>
<p>notification.setLatestEventInfo(this, “标题”, “内容", contentIntent);</p>
<p>mNotificationManager.notify(0, notification);</p>
<p><strong>二、Android中的样式和主题</strong></p>
<p>android中的样式和CSS样式作用相似,都是用于为界面元素定义显示风格,它是一个包含一个或者多个view控件属性的集合。如:需要定义字体的颜色和大小。</p>
<p>1).在values目录下添加styles.xml:</p>
<p>&lt;!--l version=&lt;--&gt;"1.0" encoding=<em>"utf-8"</em>?&gt;</p>
<p></p>
<p>&lt;!--
"changcheng"&lt;/em&gt;&gt;&lt;/div&gt;
&lt;div  mce_tmp="1"&gt;&lt;item name=&lt;em&gt;"android:textSize"&lt;/em&gt;&gt;18px&lt;/item&gt;&lt;/div&gt;
&lt;div  mce_tmp="1"&gt;&lt;item name=&lt;em&gt;"android:textColor"&lt;/em&gt;&gt;#0000CC&lt;/item&gt;&lt;/div&gt;
&lt;div  mce_tmp="1"&gt;
--&gt;</p>
<p></p>
<p>2).在layout文件中可以通过style或 theme属性设置样式或主题。</p>
<p><strong>三、使用HTML做为UI</strong></p>
<p>使用LayoutUI比较麻烦,不能让美工参与进来,这样就为开发人员带来了麻烦。但我们可以通过HTML+JS来进行UI的设计与操作。</p>
<p>1).在assets添加Html页面</p>
<p>&lt;!--CTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dt--&gt;</p>
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
<p>
</p>
<table id="personTable" style="width: 100%;" border="0" cellspacing="0">
<p></p>
<tbody>
<tr>
<p></p>
<td width="15%">编号</td>
<td align="center">姓名</td>
<td width="15%">电话</td>
<p></p>
</tr>
<p></p>
</tbody>
</table>
<p></p>
<p></p>
<p>2).在main.xlm中添加一个WebView控件</p>
<p>&lt;!--l version=&lt;--&gt;"1.0" encoding=<em>"utf-8"</em>?&gt;</p>
<p>"http://schemas.android.com/apk/res/android"</p>
<p>android:orientation=<em>"vertical"</em></p>
<p>android:layout_width=<em>"fill_parent"</em></p>
<p>android:layout_height=<em>"fill_parent"</em></p>
<p>&gt;</p>
<p>
</p>
<p>android:layout_width=<em>"fill_parent"</em></p>
<p>android:layout_height=<em>"fill_parent"</em></p>
<p>android:id=<em>"@+id/webView"</em></p>
<p></p>

<p></p>
<p>3).Activity类</p>
<p><strong>package</strong> cn.itcast.html;</p>
<p><strong>import</strong> java.util.ArrayList;</p>
<p><strong>import</strong> java.util.List;</p>
<p><strong>import</strong> org.json.JSONArray;</p>
<p><strong>import</strong> org.json.JSONObject;</p>
<p><strong>import</strong> cn.itcast.domain.Contact;</p>
<p><strong>import</strong> android.app.Activity;</p>
<p><strong>import</strong> android.content.Intent;</p>
<p><strong>import</strong> android.net.Uri;</p>
<p><strong>import</strong> android.os.Bundle;</p>
<p><strong>import</strong> android.os.Handler;</p>
<p><strong>import</strong> android.util.Log;</p>
<p><strong>import</strong> android.webkit.WebView;</p>
<p><strong>public</strong> <strong>class</strong> ContactActivity <strong>extends</strong> Activity {</p>
<p><strong>private</strong> <strong>static</strong> <strong>final</strong> String <em>TAG</em> = "ContactActivity";</p>
<p><strong>private</strong> WebView webView;</p>
<p><strong>private</strong> Handler handler = <strong>new</strong> Handler();</p>
<p>@Override</p>
<p><strong>public</strong> <strong>void</strong> onCreate(Bundle savedInstanceState) {</p>
<p><strong>super</strong>.onCreate(savedInstanceState);</p>
<p>setContentView(R.layout.<em>main</em>);</p>
<p>webView = (WebView)<strong>this</strong>.findViewById(R.id.<em>webView</em>);</p>
<p>webView.getSettings().setJavaScriptEnabled(<strong>true</strong>);//设置支持javaScript</p>
<p>webView.getSettings().setSaveFormData(<strong>false</strong>);//不保存表单数据</p>
<p>webView.getSettings().setSavePassword(<strong>false</strong>);//不保存密码</p>
<p>webView.getSettings().setSupportZoom(<strong>false</strong>);//不支持页面放大功能</p>
<p>//addJavascriptInterface方法中要绑定的Java对象及方法要运行在另外的线程中,不能运行在构造他的线程中</p>
<p>webView.addJavascriptInterface(<strong>new</strong> MyJavaScript(), "itcast");</p>
<p>webView.loadUrl("file:///android_asset/index.html");</p>
<p>}</p>
<p><strong>private</strong> <strong>final</strong> <strong>class</strong> MyJavaScript{</p>
<p><strong>public</strong> <strong>void</strong> call(<strong>final</strong> String phone){</p>
<p>handler.post(<strong>new</strong> Runnable() {</p>
<p>@Override</p>
<p><strong>public</strong> <strong>void</strong> run() {</p>
<p>Intent intent = <strong>new</strong> Intent(Intent.<em>ACTION_CALL</em>, Uri.<em>parse</em>("tel:"+ phone));</p>
<p>startActivity(intent);</p>
<p>}</p>
<p>});</p>
<p>}</p>
<p>/**</p>
<p>* 获取所有联系人</p>
<p>*/</p>
<p><strong>public</strong> <strong>void</strong> getContacts(){</p>
<p>handler.post(<strong>new</strong> Runnable() {</p>
<p>@Override</p>
<p><strong>public</strong> <strong>void</strong> run() {</p>
<p>//可以通过访问SQLLite数据库得到联系人</p>
<p>List contacts = <strong>new</strong> ArrayList();</p>
<p>contacts.add(<strong>new</strong> Contact(27, "路飞", "12345"));</p>
<p>contacts.add(<strong>new</strong> Contact(28, "索隆", "67890"));</p>
<p>String json = buildJson(contacts);</p>
<p>webView.loadUrl("javascript:show('"+ json +"')");</p>
<p>}</p>
<p>});</p>
<p>}</p>
<p>//生成<span style="text-decoration: underline;">Json</span>格式的数据</p>
<p><strong>private</strong> String buildJson(List contacts){</p>
<p><strong>try</strong> {</p>
<p>JSONArray array = <strong>new</strong> JSONArray();</p>
<p><strong>for</strong>(Contact contact : contacts){</p>
<p>JSONObject item = <strong>new</strong> JSONObject();</p>
<p>item.put("id", contact.getId());</p>
<p>item.put("name", contact.getName());</p>
<p>item.put("phone", contact.getPhone());</p>
<p>array.put(item);</p>
<p>}</p>
<p><strong>return</strong> array.toString();</p>
<p>} <strong>catch</strong> (Exception e) {</p>
<p>Log.<em>e</em>(<em>TAG</em>, e.toString());</p>
<p>}</p>
<p><strong>return</strong> "";</p>
<p>}</p>
<p>}</p>
<p>}</p>
<p>MyJavaScript接口实现的方法正是提供给页面中的JS代码调用的!</p>
<p><strong>四、打包和安装Android应用</strong></p>
<p><strong>1.</strong><strong>导出Android应用</strong></p>
<p>在工程上右解--&gt;Export--&gt;Android--&gt;Export Android Application,将工程导出为APK包。</p>
<p><strong>2.</strong><strong>将APK包放入到SDCard目录中</strong></p>
<p>在FileExplorer面板的右上角有一个导入手机图标,将上面生成的APK包导入到SDCard目录中。</p>
<p><strong>3.</strong><strong>编写安装APK包的Android程序</strong></p>
<p>1).在AndoirdManifest.xml添加权限:</p>
<p>&lt;!-- 安装程序权限 --&gt;</p>
<p>"android.permission.INSTALL_PACKAGES"/&gt;</p>
<p>2).通过Android提供的功能,安装APK:</p>
<p>Intent intent = new Intent();</p>
<p>intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);</p>
<p>intent.setAction(android.content.Intent.ACTION_VIEW);</p>
<p>Uri data = Uri.fromFile(new File(Environment.getExternalStorageDirectory(), filename));</p>
<p>intent.setDataAndType(data, "application/vnd.android.package-archive");</p>
<p>startActivity(intent);</p>
<p>Android的学习到此结束!</p>
分享到:
评论

相关推荐

    android利用html5实现listview并添加下拉刷新

    当JavaScript的`pullToRefresh()`执行完毕后,调用这个方法通知Android应用。 ```java webView.addJavascriptInterface(new Object() { @JavascriptInterface public void onRefreshCompleted() { // 刷新完成后...

    Apress Pro Android Web Apps Develop for Android Using HTML5, CSS3 & JavaScript

    《Apress Pro Android Web Apps Develop for Android Using HTML5, CSS3 & JavaScript》这本书详细探讨了如何利用HTML5、CSS3和JavaScript技术在Android平台上构建高效、功能丰富的移动Web应用。以下是一些关键知识...

    2048android结合html

    为了使HTML5游戏能与Android原生功能更好地结合,可以使用WebView的addJavascriptInterface方法,将Java对象暴露给JavaScript,这样JavaScript就能调用Android的API,例如播放音效、显示通知或者保存用户偏好设置。...

    使用HTML、CSS和JavaScript开发Android程序

    通过框架如PhoneGap或Ionic,JavaScript可以直接调用Android原生API,实现如GPS定位、摄像头访问、推送通知等功能,使得Web开发者也能构建功能强大的原生应用。 **Android开发中的Web技术应用** 1. **Apache ...

    android textview图文混排

    在Android开发中,TextView是用于显示纯文本的基本组件,但有时候我们希望在文本中插入图片,实现图文混排的效果,让界面更加生动和丰富。本文将深入探讨如何在TextView中实现这一功能,主要使用Android内置的`Html`...

    android 曲线图highchartdemo

    这样,你可以在Android代码中更新数据,然后通过JavaScript接口通知Highcharts更新图表。 总结来说,通过在Android的WebView中使用Highcharts,我们可以方便地在应用中展示曲线图和其他类型的图表,提供丰富的可视...

    android的android.text.Html的类的使用源码(补全TagHandler部分)

    在Android开发中,`android.text.Html`类是一个非常重要的工具,它允许开发者将HTML格式的字符串转换为可显示的文本,常用于显示富文本内容,如短信、邮件、通知等。`fromHtml`方法是`Html`类中的一个静态方法,能够...

    phonegap之android示例

    PhoneGap提供了一组API,使得JavaScript可以直接调用Android的原生功能,如访问硬件设备(如摄像头、GPS)、存储数据、显示通知等。在“HelloWorld”示例中,JavaScript可能负责处理点击事件,当用户点击某个元素时...

    android 浏览器 调用系统下载功能

    使用NotificationCompat.Builder创建通知,并配置其样式、内容和行为。 7. **自定义下载对话框**:如果希望浏览器弹出特定的下载框,可以自定义一个对话框布局,然后在JavaScript调用的Java方法中显示这个对话框,...

    android应用源码---浏览器源码(AndroidChromium).rar

    4. **Android系统集成**:Chromium如何与Android系统进行深度集成,包括权限管理、服务调用、通知系统以及硬件加速等。Android特有的生命周期管理和组件交互也是学习的一部分。 5. **网络通信**:Chromium使用...

    Barber1_java_html_android_

    标题“Barber1_java_html_android_”暗示我们讨论的是一个与理发店预约相关的移动应用程序,该应用可能由Java、HTML和Android技术构建。这表明它是一个Android平台上的应用程序,前端可能涉及HTML和Java,而后端可能...

    Android与JavaWeb的互相访问

    **Android Web**文件可能包含示例代码、HTML页面、CSS样式和JavaScript脚本,这些都是构建Android与JavaWeb交互应用的关键组成部分。例如,`android_web`可能是一个Android项目,包含与JavaWeb服务通信的Activity和...

    Android 手机RSS阅读器(html5).zip

    【Android手机RSS阅读器(html5)】是一款基于Android平台的应用程序,主要功能是解析和显示RSS订阅源中的新闻或文章内容。它利用HTML5技术来增强用户体验,提供了一个简洁、高效的阅读界面。在这个项目中,开发者可以...

    主题的应用_主题的应用

    在移动应用中,如Android和iOS,开发者可以创建自定义主题,让用户根据个人喜好调整界面风格。 其次,主题的应用涉及到前端开发技术,包括HTML、CSS和JavaScript。CSS(层叠样式表)是实现主题的核心工具,通过定义...

    h5+android

    【标签】"h5+android"再次强调了这个主题,意味着我们将讨论如何在Android环境中集成H5页面,以及两者之间的通信机制,例如使用WebView组件加载H5页面,通过JavaScript Interface实现JavaScript与Java代码的交互,...

    androidUI详解文档

    4. **颜色和样式(Colors & Styles)**:通过XML资源文件,开发者可以定义颜色和样式,实现UI的统一和主题化。颜色可以使用RGB、ARGB或者预定义的颜色常量,样式则可以包含字体、颜色、背景等属性。 5. **事件处理...

    android sdk 4.4.2 (android-19)

    - `Notification.BigTextStyle`和`Notification.InboxStyle`,提供了更丰富的通知样式。 五、兼容性和升级: KitKat致力于提高对各种硬件的兼容性,特别是针对512MB RAM以下的设备。同时,为了鼓励用户升级,谷歌...

    Android应用源码之结合html5jscss测试程序附源码-IT计算机-毕业设计.zip

    该压缩包文件“Android应用源码之结合html5jscss测试程序附源码-IT计算机-毕业设计.zip”提供了一个Android应用的源代码示例,特别关注了与HTML5、CSS3和JavaScript的集成,这对于移动应用开发,尤其是Android平台上...

    android 4.0 api project

    Android 4.0 API项目,也被称为"Ice Cream Sandwich"(ICS),是Android操作系统的一个重要版本,它在2011年发布,带来了许多新功能和改进。这个ApiDemos项目是一个示例代码集合,旨在帮助开发者更好地理解和利用...

    Android resource Table

    5. 样式和主题资源(用于统一应用的外观) 6. 动态尺寸资源(根据设备尺寸自动调整) 7. 声音资源(如通知音、提示音) 8. 动画资源(如帧动画、属性动画) 总的来说,Android资源表是Android开发中不可或缺的部分...

Global site tag (gtag.js) - Google Analytics