一 : 2008最强团队介绍
姓名:魏训阳 admin
生日:1988年5月
特长:SEO 网络营销 写作
爱好:装
Email:virusoft[at]yahoo.cn
QQ:4833542
Mobile:13070664642
姓名:文龙 wenlu
生日:1989年10月
特长:设计 网赚
爱好:泡妞 吃肉
Email:8334172[at]qq.com
QQ:8334172 Email:jayzuyw[at]163.com
姓名:李涛 litao
生日:1987年9月
特长:服务器安全 编程开发
爱好:那个
Email:panjing_115500511[at]qq.com
QQ:115500511
姓名:王龙 Babylong
生日:1987年9月
特长:就是忽悠你成为我们的客户
爱好:打售后骚扰电话
Email:22344364[at]qq.com
QQ:22344364
易网崛起在通往牛逼的路上….
我们富有,因为我们的青春
我们高调,因为我们的激情
我们努力,因为我们的憧憬.
网站优化.易网 www.wangzhanyouhua.net.cn
二 : AndroidAppWidget开发介绍(一)
这几天接到公司开发桌面插件的一个项目,之前由于没有正式的开发过桌面小插件,之前试着写了一个桌面的时钟,但做到一半就没有继续写下去,现在要开发小插件,所以还要查一下相关的资料。之前也听到有些朋友要我介绍一下桌面小插件的开发,拖到现在才来介绍,感觉也有些不好意思,不过也不算太晚,今天就开始桌面小插件的开发介绍的第一次讲解。
首先我们开发一款小插件的的话,要了解一下小插件的相关问题,什么是小插件,小插件有什么用,小插件能做什么?等等这些问题,我们今天将主要介绍一下。首先什么是小插件?所谓AppWidget,直译的话是应用程序小部件,也就是我们平常在桌面上见到的那种一个个的小窗口,利用这个小窗口可以给用户提供一些方便快捷的操作。要注意的是我们通常说的Widget在Android官方Api文档里面与AppWidget指的并不是同一个,虽然我们通常说的时候认为Widget就是AppWidget,但是实际上Widget指的是Button、TextView、ImagView等一些我们在布局里面用到的小部件,而运行于窗口的小部件我们标准的说应该是AppWidget。那我们使用AppWidget做什么,因为AppWidget添加到桌面以后,我们可以快速的接受用户的操作,而响应用户的请求,而且Widget相对于Activity可以常驻在屏幕上,同时可以快速启动其他的事务处理机制。我们也可以把AppWidget作为我们应用的入口。对于AppWidget能作什么的问题,我们可以通过对我们使用过的小插件进行总结,如动态显示信息,快速响应用户的操作,作为应用程序入口等等。
通过我们以上讲到关于AppWidget的相关知识,我们现在来了解一下如何建立一个Appwidget,首先我们建立一个工程项目,和平常建立AndroidApplication一样,不过这次我们不创建Activity,建好工程后,我们在src下建一个package(包),在该package(包)中建立一个class,源码如下:
package com.example.widgettest;
import android.appwidget.AppWidgetManager;
import android.appwidget.AppWidgetProvider;
import android.content.Context;
import android.content.Intent;
public class ExampleAppWidgetProvider extends AppWidgetProvider{
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
super.onReceive(context, intent);
}
@Override
public void onUpdate(Context context, AppWidgetManagerappWidgetManager,
int[] appWidgetIds) {
// TODO Auto-generated method stub
super.onUpdate(context, appWidgetManager, appWidgetIds);
}
}
这里的ExampleAppWidgetProviderclass我们要继承AppWidgetProvider,然后通过eclipse我们需要重写他的两生命周期函数,onReceive()和onUpdate(),这里看到onReciver函数有过Android广播BroadcastReceive开发经验的同学就会很清楚。那我们要在这个应用的AndroidManifest.xml文件中注册一个Receive,示例代码如下所示:
<receiverandroid:name="ExampleAppWidgetProvider" >
<intent-filter>
<actionandroid:name="android.appwidget.action.APPWIDGET_UPDATE"/>
</intent-filter>
<meta-dataandroid:name="android.appwidget.provider"
android:resource="@xml/example_appwidget_infor"/>
</receiver>
我们看看上面代码,这是我从Android的官方Api文档里面拷贝下来的一段,里面的android:name就是我们新建的AppWidgetProvider的名称,若是不同包(package)的要带上包(package)名,下面的action,也就是当广播发送该action时,我们这个receive会执行,然后下面的meta-data里面的android:name我们统一写成android.appwidget.provider;最后的android:resource我们要注意一下,很多同学第一次进AppWidget会在这个上面有点困惑。这里是说我们要在res文件夹下建立一个xml文件夹,并在里面建立一个名称为example_appwidget_infor的xml文件,类型我们选择appwidget-provider。具体里面的内容就是对于我们appwidget的具体配置信息。如下段代码就是一个配置的例子:
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
android:minWidth="294dp"
android:minHeight="72dp"
android:updatePeriodMillis="86400000"
android:initialLayout="@layout/example_appwidget"
android:resizeMode="horizontal|vertical">
</appwidget-provider>
这里面的的参数miniwidth和miniheight分别指的是我们AppWidget的最小的宽度和高度,然后下面的updatePeriodMillis是指每多少毫秒刷新一次,这里我们数据设置大一些,设置小的话没有什么作用,要更新Appwidget我们一般在后台开启服务或设置闹钟定时更新。然后接下来的参数就是我们AppWidget的初始化布局,resizeMode是重定义大小模式。
然后我们建立好了AppWidget的配置文件以后,我们就可以运行我们的小应用了,这里面的example_appwidget.xml布局文件我们建一个最简单的布局,也就是只有一个TextView的那种布局。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/empty_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:textColor="#ffffff"
android:textStyle="bold"
android:text="我们的第一个AppWidget应用!"
android:textSize="20sp" />
</LinearLayout>
建立完成后,我们启动模拟器运行我们刚才建立的AppWidget,长按屏幕后(对于android2.3的系统),选择widget,在列表在我们刚才建的AppWidget已经在里面了,选择它加载到桌面见可以看到如下效果。我们的第一个AppWidget就完成了。
很简单的一个AppWidget,界面有点不好看,这是我们的第一次开发,了解什么是AppWidget以及如何建立一个AppWidget应用。那下次我们讲解如何给我们的AppWidget添加控件响应事件以及如何由我们的AppWidget进入到其他的Activity。下次将介绍如何实现类似于360手机安全卫士的一键清理的功能。本次介绍到此结束,后续问题我们下次继续讨论!
三 : 日语汉字发音器:日语汉字发音器-软件介绍,日语汉字发音器-软件简介
发音器_日语汉字发音器 -软件介绍
日语汉字发音器软件名称:日语汉字发音器发音器_日语汉字发音器 -软件简单介绍
日语汉字发音器根据输入的日本汉字,显示出该汉字的所有日语发音和笔画数。四 : 物流软件开发工具:物流软件开发工具-介绍,物流软件开发工具-本书章节
《物流软件开发工具》,是潘云、吴海燕、杨桂君编著,高等教育出版社出版的书籍。
物流软件开发_物流软件开发工具 -介绍
[www.61k.com)作者:潘云、吴海燕、杨桂君ISBN:10位[7040195445]13位[9787040195446]
出版社:高等教育出版社物流软件开发_物流软件开发工具 -本书章节
第1章绪论
第一节物流及物流软件
第二节物流软件开发技术
第2章物流软件分析设计工具
第一节软件工程
第二节物流软件开发过程模型
第三节物流软件开发与面向对象技术
第四节物流软件开发与统一建模语言(UML)
第3章物流软件数据库管理工具
第一节物流数据库系统结构
第二节结构化查询语言(SQL)
第三节物流软件的数据库设计
第四节数据库管理系统
第4章客户/服务器模式物流软件开发
第一节物流软件与客户/服务器模式
第二节物流软件开发工具(VisualBasic)
第三节物流软件开发实例
第5章物流网站开发工具
第一节HTML
第二节物流网站可视化开发工具
第三节Web服务器
第6章Web数据库与物流软件开发
第一节Web数据库的基本概念
第二节JDBC
第三节JDBC与Web数据库访问
第7章基于Web的物流软件开发
第一节JSP技术与物流软件开发
第二节基于JSP的物流软件开发工具
第三节JSP基本语法
第四节JSP内置对象在物流软件开发中的应用
第五节JavaBean与物流软件开发
第六节基于Web的物流软件开发模式
参考文献
教学课件索取单
物流软件开发_物流软件开发工具 -目录
第1章绪论
第一节物流及物流软件
第二节物流软件开发技术
第2章物流软件分析设计工具
第一节软件工程
第二节物流软件开发过程模型
第三节物流软件开发与面向对象技术
第四节物流软件开发与统一建模语言(UML)
第3章物流软件数据库管理工具
第一节物流数据库系统结构
第二节结构化查询语言(SQL)
第三节物流软件的数据库设计
第四节数据库管理系统
第4章客户/服务器模式物流软件开发
第一节物流软件与客户/服务器模式
第二节物流软件开发工具(VisualBasic)
第三节物流软件开发实例
第5章物流网站开发工具
第一节HTML
第二节物流网站可视化开发工具
第三节Web服务器
第6章Web数据库与物流软件开发
第一节Web数据库的基本概念
第二节JDBC
第三节JDBC与Web数据库访问
第7章基于Web的物流软件开发
第一节JSP技术与物流软件开发
第二节基于JSP的物流软件开发工具
第三节JSP基本语法
第四节JSP内置对象在物流软件开发中的应用
第五节JavaBean与物流软件开发
第六节基于Web的物流软件开发模式
参考文献
教学课件索取单
五 : Android开发中的Manifest文件介绍
AndroidManifest.xml文件综合详解 一,重要性AndroidManifest.xml是Android应用程序中最重要的文件之一。它是Android程序的全局配置文件,是每个 android程序中必须的文件。它位于我们开发的应用程序的根目录下,描述了package中的全局数据,包括package中暴露的组件(activities, services, 等等),以及他们各自的实现类,各种能被处理的数据和启动位置等重要信息。
因此,该文件提供了Android系统所需要的关于该应用程序的必要信息,即在该应用程序的任何代码运行之前系统所必须拥有的信息。一个典型的Android应用程序的结构如下图所示:
二,主要功能它指定了该应用程序的Java包:该包名作为应用程序的一个独特标识。
它描述了应用程序组件:该应用程序由哪些activity,service,broadcast receiver和content provider组成。它指定了实现每个组件的类以及公开发布它们的能力(例如,它们能持有哪个Intent信息)。这些声明使Android系统知道这儿有什么组件以及在什么条件下它们可以被载入。
它决定那些进程将容纳应用程序组件。
它声明了本应用程序必须拥有哪些许可,以便访问API的被保护部分,以及与其
他应用程序交互。
它也声明了其他应用程序在和该应用程序交互时需要持有的许可。
它列出了Instrumentation类,可以在应用程序运行时提供简档和其他信息。这些声明仅当应用程序在开发和测试过程中被提供;它们将在应用程序正式发布之前被移除。
它声明了该应用程序所需的Android API的最小化水平。
它列出了该应用程序必须链接的库。
三,主要结构及规则下面列表显示了manifest文件的通常的结构以及它可以含有的元素。每个元素,连同它的所有属性,会在各个单独的文档里进行充分的描绘。
<?xml version="1.0" encoding="utf-8"?>
<manifest> //根节点,描述了package中所有的内容
<uses-permission /> //请求你的package正常运作所需赋予的安全许可。一个manifest能包含零个或更多此元素
<permission /> //声明了安全许可来限制哪些程序能使用你的package中的组件和功能。一个manifest能包含零个或更多此元素
<permission-tree />
<permission-group />
<instrumentation /> //声明了用来测试此package或其他package指令组件的代码。一个manifest能包含零个或更多此元素
<uses-sdk /> //指定当前应用程序兼容的最低sdk版本号
<application> //包含package中application级别组件声明的根节点。此元素也可包含 application中全局和默认的属性,如标签,icon,主题,必要的权限,等等。一个manifest能包含零个或一个此元素(不允许多余一个) <activity> //用来与用户交互的主要工具。当用户打开一个应用程序的初始页面时一个activity,大部分被使用到的其他页面也由不同的activity所实现并声明在另外的activity标记中。
<intent-filter> //声明了指定的一组组件支持的Intent值 <action />
<category />
<data />
<type/>
<schema/>
<authority/>
<path/>
</intent-filter>
<meta-data />
</activity>
<activity-alias>
<intent-filter> . . . </intent-filter>
<meta-data />
</activity-alias>
<service> //Service是能在后台运行任意时间的组件
<intent-filter> . . . </intent-filter>
<meta-data/>
</service>
<receiver> //IntentReceiver能使你的application获得数据的改变或者发生的操作,即使它当前不在运行
<intent-filter> . . . </intent-filter>
<meta-data />
</receiver>
<provider> //ContentProvider是用来管理持久化数据并发布给其他应用程序使用的组件
<grant-uri-permission />
<meta-data />
</provider>
<uses-library />
<uses-configuration />
</application>
</manifest>
下面是按照字母顺序排列的所有可以出现在manifest文件里的元素。它们是唯一合法的元素;你不能加入你自己的元素或属性。
<action>
<activity>
<activity-alias>
<application>
<category>
<data>
<grant-uri-permission>
<instrumentation>
<intent-filter>
<manifest>
<meta-data>
<permission>
<permission-group>
<permission-tree>
<provider>
<receiver>
<service>
<uses-configuration>
<uses-library>
<uses-permission>
<uses-sdk>
说明:AndroidManifest.xml文件的结构、元素,以及元素的属性,可以在Android SDK文档中查看详细说明。而在看这些众多的元素以及元素的属性前,需要先了
解一下这些元素在命名、结构等方面的规则:
元素:在所有的元素中只有<manifest>和<application>是必需的,且只能出现一次。如果一个元素包含有其他子元素,必须通过子元素的属性来设置其值。处于同一层次的元素,这些元素的说明是没有顺序的。
属性:按照常理,所有的属性都是可选的,但是有些属性是必须设置的。那些真正可选的属性,即使不存在,其也有默认的数值项说明。除了根元素<manifest>的属性,所有其他元素属性的名字都是以android:前缀的;
定义类名:所有的元素名都对应其在SDK中的类名,如果你自己定义类名,必须包含类的数据包名,如果类与application处于同一数据包中,可以直接简写为“.”;
多数值项:如果某个元素有超过一个数值,这个元素必须通过重复的方式来说明其某个属性具有多个数值项,且不能将多个数值项一次性说明在一个属性中;
资源项说明:当需要引用某个资源时,其采用如下格式:
@[package :]type :name 。 例如 <activity
android:icon=”@drawable/icon ” . . . >
字符串值:类似于其他语言,如果字符中包含有字符“\”,则必须使用转义字符“\\”;
四,详细说明值得一提一些常用之处:
1,几乎所有的AndroidManifest.xml(以及许多其他Android的xml的文件)在第一个元素中包含了命名空间的声明
xmlns:android="http://schemas.android.com/apk/res/android"。这样使得Android中各种标准属性能在文件中使用,提供了大部分元素中的数据。 2,大部分manifests包含了单个<application>的元素,它定义了所有的application级别组件和属性,并能在package中使用。
3,任何被用户看作顶层应用程序,并能被程序启动器所用的package,需要包含至少一个Activity组件来支持MAIN操作和LAUNCHER种类。动作
android.intent.action.MAIN指示这是应用程序的入口点。类别
android.intent.category.LAUNCHER将此Activity放在启动器窗口中。
在最外层的<manifest>中包含了包名如 package="cn.androidlover.demo" 、软件的版本号 android:versionCode="1" 以及 android:versionName="1.0"的属性,而里面一层的<application>分支中将可能包含Android程序的四种对象 Activity、Service、Content Provider以及Receiver。我们每添加上面四个类型中的任一种新对象都需要在androidmanifest.xml文件中添加相应节点,否则运行时将会产生异常。每一个activity必须要一个<activity>标记对应,无论它给外部使用或是只用于自己的package 中。如果一个activity没有对应的标记,你将不能运行它。
此文件一个重要的地方就是它所包含的intent-filters。这些filters描述了activity启动的位置和时间。每当一个 activity(或者操作系统)要执行一个操作,例如:打开网页或联系簿时,它创建出一个intent的对象。它能承载一些信息描述了你想做什么,你想处理什么数据,数据的类型,和一些其他信息。Android比较了intent对象中和每个application所暴露的intent-filter中的信息,来找到最合适的activity来处理调用者所指定的数据和操作。关于intent的更多信息请访问Intent参考页面。
application属性介绍:
有关AndroidManifest.xml文件的application分支我们有必要了解一些常见的属性,这里可以看到一些我们实用的选项,比如允许调试android:debuggable、任务关系android:taskAffinity,比如我们常见的方式创建一个新的任务实用标记 FLAG_ACTIVITY_NEW_TASK,为程序制定一个主题,可以使用android:theme指向一个主题文件。平时我们创建的程序使用一些安全敏感项,会需要请求系统许可权限,这里可以使用android:permission来制定相关的许可,每个程序的service、 activity、content provider、receiver都需要在application的节点内实现。有关完整的属性可以查看:
<application android:allowClearUserData=["true" | "false"]
android:allowTaskReparenting=["true" | "false"] android:debuggable=["true" | "false"]
android:description="string resource"
android:enabled=["true" | "false"]
android:hasCode=["true" | "false"]
android:icon="drawable resource"
android:label="string resource"
android:manageSpaceActivity="string"
android:name="string"
android:permission="string"
android:persistent=["true" | "false"]
android:process="string"
android:taskAffinity="string"
android:theme="resource or theme" >
. . .
</application>
另外:Activity的属性常用的可能为android:name和android:label两个,但我们需要了解所有的属性以帮助解决复杂的问题,完整的如下:
?
?
?
? android:allowTaskReparenting=["true" | "false"] android:alwaysRetainTaskState=["true" | "false"] android:clearTaskOnLaunch=["true"" | "false"] android:configChanges=[one or more of: "mcc" "mnc" "locale" "touchscreen" "keyboard" "keyboardHidden" "navigation"
"orientation" "fontScale"]
?
?
?
?
?
?
? android:enabled=["true" | "false"] android:excludeFromRecents=["true" | "false"] android:exported=["true" | "false"] android:finishOnTaskLaunch=["true" | "false"] android:icon="drawable resource" android:label="string resource" android:launchMode=["multiple" | "singleTop" | "singleTask" | "singleInstance"]
?
?
?
?
?
? android:multiprocess=["true" | "false"] android:name="string" android:noHistory=["true" | "false"] android:permission="string" android:process="string" android:screenOrientation=["unspecified" | "user" | "behind" |
"landscape" | "portrait" | "sensor" | "nonsensor"]
?
?
?
? android:stateNotNeeded=["true" | "false"] android:taskAffinity="string" android:theme="resource or theme" android:windowSoftInputMode=[one or more of: "stateUnspecified"
"stateUnchanged" "stateHidden" "stateAlwaysHidden"
"stateVisible" "stateAlwaysVisible" "adjustUnspecified"
"adjustResize" "adjustPan"]
?
从Provider节点中用到的定义,可以看到包含了权限控制、排序方式完整的如下:
<provider android:authorities="list"
android:enabled=["true" | "false"]
android:exported=["true" | "false"]
android:grantUriPermissions=["true" | "false"]
android:icon="drawable resource"
android:initOrder="integer"
android:label="string resource"
android:multiprocess=["true" | "false"]
android:name="string"
android:permission="string"
android:process="string"
android:readPermission="string"
android:syncable=["true" | "false"]
android:writePermission="string" >
</provider>
而对于服务相关定义如下:
<service android:enabled=["true" | "false"]
android:exported[="true" | "false"]
android:icon="drawable resource"
android:label="string resource"
android:name="string"
android:permission="string"
android:process="string" >
</service>
最后是Broadcast使用的Receiver定义,一般配合和隐式处理。
<receiver android:enabled=["true" | "false"]
android:exported=["true" | "false"]
android:icon="drawable resource"
android:label="string resource"
android:name="string"
android:permission="string"
android:process="string" >
</receiver>
总之,AndroidManifest.xml文件虽然看起来复杂,但是,只要我们理清中里面各元素的作用,那么一切就变得简单了。
本文标题:软件开发团队介绍-2008最强团队介绍61阅读| 精彩专题| 最新文章| 热门文章| 苏ICP备13036349号-1