优质文档androidsearchmysql范例范文模板 13页Word文档下载推荐.docx
《优质文档androidsearchmysql范例范文模板 13页Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《优质文档androidsearchmysql范例范文模板 13页Word文档下载推荐.docx(11页珍藏版)》请在冰豆网上搜索。
由于我们的这个团队(大学里的团队,呵呵。
有时间就做没时间就放那种团队)不像上班那样有鸭梨的团队,大家都比较懒散,有时间就做做,老师那边也没给鸭梨,呵呵,可能出于各种原因吧。
不过我是想学东西那种,所以就下来花的时间比较多。
就拿这个登录模块来说,最开始,我们那个团队副负责人说,不用做登录,或者做登录就做“单机”的,所谓他指的单机就是访问android内嵌的SQLite数据库,这样的话,就很简单了,但是实际应用中这样根本就没有意义也没有难度。
谁不会做?
做出来了,谁会要求是这样的登录原理?
呵呵。
所以,我就自己打算做访问后台数据库,最后选了mysql数据库,由于之前对这方面的知识是零,所以查阅了不少资料。
java方面的servlet和jsp都看了。
jsp看了一本书,servlet的也看了一本书,然后查了不少网上资源。
总之对服务器方面的原理还是掌握了不少。
JSP的本质就是Servlet,Servlet的本质又是java程序。
servlet是运行在服务器端的,JSP是做动态网页,不过他们原理都差不多。
最终都是要在编译器那里编译成Java类来运行。
jsp实际上就是一些jsp标记、java程序以及HTML文件的合体。
它以java语言作为其内置的脚本语言,可以说jsp就是java。
知识它是一个很特别的java语言。
它实际上是调用了jsp引擎来生成java文件,再将这个java文件编译成类文件。
这样去执行它,才生成动态网页。
Servlet是运行在JSP服务器端,用来生成Web页面的一中java程序,servlet比jsp要早发展出来。
其功能比传统的CGI(公共网关接口)强大。
在服务器端的Java虚拟机上,每一个来自客户端的请求由servlet中的一个小java线程来响应。
servlet就是运行于服务器端的java程序,用于处理客户端请求和服务器端的应答。
doGet()和doPost()是servlet程序中的两个回调函数,用于处理get和post方式的请求。
response和request两个对象是服务器端的响应和客户端的请求。
用于传递一些参数和打印出网页标记。
基本原理是这样,要更清楚就自己去看资料详细学习吧。
流程:
客户端(最终用户)<
------>
web服务器(servlet、Jsp程序)<
--------->
数据库、遗留应用程序、java应用程序、web服务等。
好了,有了以上这些了解后就可以开始做了。
我是在myeclipse上开发的点菜服务器端(叫diancai_server)。
在myeclipse上新建一个工程,命好名。
这些都比较简单,不说了。
就说说我遇到的难处吧。
1、首先在加载驱动时,在那里花了比较多的时间。
class.forname("
org.gjt.mm.mysql.Driver"
)或者class.forname("
com.mysql.jdbc.Driver"
)其实这两个驱动(org.gjt.mm.mysql.Driver和com.mysql.jdbc.Driver)都可以的。
只是不同驱动包名吧。
具体的我也说不清,反正都可以的。
2、然后就是Connectionconn=DriverManager.getConnection("
jdbc:
mysql:
//localhost:
3306/diancai_db"
"
root"
andylin"
);
在这里的那个3306也烦恼了下,因为我不记得安装mysql时的步骤了,其中一个的一个步骤就是指定mysql的端口,它默认的是3306。
不过我将3306换成了我自己的tomcat端口号也能访问。
具体道理我也不知。
3、然后就是在tomcat配置那个地方也花了不少时间,反正我觉得tomcat是很容易整错的。
什么classpath啊那些。
整得很麻烦。
还有什么建立自己的web应用那些。
不难但是很繁杂。
好好拿书看看就行了。
4、就是eclipse中写查询用户名和密码的url那里也有点不懂。
/apk/res/android"
android:
id="
@+id/grid_view"
layout_width="
fill_parent"
layout_height="
numColumns="
auto_fit"
verticalSpacing="
10dp"
horizontalSpacing="
columnWidth="
90dp"
stretchMode="
columnWidth"
gravity="
center"
/>
.java中相关操作代码:
GridViewgridview=(GridView)findViewById(R.id.grid_view);
gridview.setAdapter(newImageAdapter(this));
注:
其中ImageAdapter是一个Image适配器,其应该继承BaseAdapter类
publicclassImageAdapterextendsBaseAdapter{
privateContextmContext;
publicImageAdapter(Contextc){
mContext=c;
}
publicintgetCount(){
returnmThumbIds.length;
publicObjectgetItem(intposition){
returnnull;
publiclonggetItemId(intposition){
return0;
publicViewgetView(intposition,ViewconvertView,ViewGroupparent){ImageViewimageView;
if(convertView==null){//ifit'
snotrecycled,initializesomeattributes
imageView=newImageView(mContext);
imageView.setLayoutParams(newGridView.LayoutParams(85,
85));
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
imageView.setPadding(8,8,8,8);
}else{
imageView=(ImageView)convertView;
imageView.setImageResource(mThumbIds[position]);
returnimageView;
mThumbIds为一个数组,存放了来自drawable文件夹下的图片数据
7:
ImageButton图片按钮
.Xml配置:
<
ImageButtonandroid:
@+id/imagebutton"
src="
@drawable/play"
wrap_content"
8:
ImageSwitcher、Gallery联合显示图片
ImageSwitcher
@+id/switcher"
layout_alignParentTop="
true"
layout_alignParentLeft="
/>
Galleryandroid:
@+id/gallery"
background="
#55000000"
60dp"
layout_alignParentBottom="
center_vertical"
spacing="
16dp"
mSwitcher=(ImageSwitcher)findViewById(R.id.switcher);
mSwitcher.setFactory(newMyViewFactory());
mSwitcher.setInAnimation(AnimationUtils.loadAnimation(this,android.R.anim.fade_in));
mSwitcher.setOutAnimation(AnimationUtils.loadAnimation(this,android.R.anim.slide_out_right));
Galleryg=(Gallery)findViewById(R.id.gallery);
g.setAdapter(newImageAdapter(this));
g.setOnItemSelectedListener(newMyOnItemSelectedListener());
其中MyViewFactory是一个View工厂,其应该实现ViewFactory接口
PublicclassMyViewFactoryimplementsViewFactory
{
publicViewmakeView(){
ImageViewi=newImageView(this);
i.setBackgroundColor(0xFF000000);
i.setScaleType(ImageView.ScaleType.FIT_CENTER);
i.setLayoutParams(new
ImageSwitcher.LayoutParams(LayoutParams.FILL_PARENT,
LayoutParams.FILL_PARENT));
returni;
ImageAdapter是一个Image适配器,其应该继承BaseAdapter类
publicintgetCount()