1、总体布局
总体布局方面借鉴了微信的布局,主要有个人信息的显示和修改界面以及有关软件功能的一些其他布局。如下图所示,为信息模块主界面,点击个人信息区域,可以对个人信息进行修改。
2、主界面布局设计
主界面布局主要使用线性布局和相对布局设计,包含了管理个人信息模块、拍照上传模块、软件的相关说明模块、退出登入模块。下面是界面布局代码:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#ebebeb">
<RelativeLayout
android:id="@+id/re_myinfo"
android:layout_width="match_parent"
android:layout_height="100dp"
android:layout_marginBottom="18dp"
android:clickable="true"
android:layout_marginTop="16dp"
android:background="@drawable/btn_list_item_bg"
android:paddingBottom="8dp"
android:paddingTop="8dp">
<ImageView
android:id="@+id/iv_avatar"
android:layout_width="64dp"
android:layout_height="64dp"
android:layout_marginLeft="15dp"
android:src="@drawable/default_face"/>
<LinearLayout
android:id="@+id/ll_name"
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="16dp"
android:layout_marginTop="12dp"
android:layout_toRightOf="@id/iv_avatar">
<TextView
android:id="@+id/tv_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="用户名:"
android:textColor="#353535"
android:textSize="16sp"/>
<TextView
android:id="@+id/yonghuxingming"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#353535"
android:textSize="16sp"/>
</LinearLayout>
<TextView
android:id="@+id/tv_fxid"
android:layout_alignParentBottom="true"
android:layout_marginBottom="10dp"
android:layout_marginLeft="16dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/iv_avatar"
android:text="账号:"
android:textColor="#AAAAAA"
android:textSize="14sp"/>
<TextView
android:id="@+id/dengruyonghu"
android:layout_alignParentBottom="true"
android:layout_marginBottom="10dp"
android:layout_marginLeft="55dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/iv_avatar"
android:textColor="#AAAAAA"
android:textSize="14sp"/>
</RelativeLayout>
<RelativeLayout
android:id="@+id/re_xiangce"
android:layout_width="match_parent"
android:layout_height="65dp"
android:background="@drawable/btn_list_item_bg"
android:clickable="true"
android:paddingLeft="12dp">
<ImageView
android:id="@+id/iv_xiangce"
android:layout_width="26dp"
android:layout_height="26dp"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:layout_marginLeft="12dp"
android:src="@drawable/xiangji1"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="20dp"
android:layout_toRightOf="@id/iv_xiangce"
android:text="照片上传"
android:textColor="#353535"
android:textSize="16sp" />
<View
android:layout_width="match_parent"
android:layout_height="0.2dp"
android:layout_alignParentBottom="true"
android:layout_marginRight="12dp"
android:background="#dadada" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/re_aboutwe"
android:layout_width="match_parent"
android:layout_height="58dp"
android:background="@drawable/btn_list_item_bg"
android:clickable="true"
android:paddingLeft="12dp">
<ImageView
android:id="@+id/iv_shoucang"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:layout_marginLeft="12dp"
android:src="@drawable/about"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="20dp"
android:layout_toRightOf="@id/iv_shoucang"
android:text="关于我们"
android:textColor="#353535"
android:textSize="16sp" />
</RelativeLayout>
<RelativeLayout
android:layout_marginTop="20dp"
android:id="@+id/re_help"
android:layout_width="match_parent"
android:layout_height="48dp"
android:background="@drawable/btn_list_item_bg"
android:clickable="true"
android:paddingLeft="12dp">
<ImageView
android:id="@+id/iv_money_bag"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:layout_marginLeft="12dp"
android:src="@drawable/help2" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="20dp"
android:layout_toRightOf="@id/iv_money_bag"
android:text="帮助与反馈"
android:textColor="#353535"
android:textSize="16sp" />
<View
android:layout_width="match_parent"
android:layout_height="0.2dp"
android:layout_alignParentBottom="true"
android:layout_marginRight="12dp"
android:background="#dadada" />
</RelativeLayout>
<RelativeLayout
android:layout_marginTop="10dp"
android:id="@+id/tuichu"
android:layout_width="match_parent"
android:background="@drawable/btn_list_item_bg"
android:layout_height="48dp"
android:clickable="true"
android:paddingLeft="12dp">
<ImageView
android:id="@+id/iv_setting"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:layout_marginLeft="12dp"
android:src="@drawable/akf" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="20dp"
android:layout_toRightOf="@id/iv_setting"
android:text="退出登入"
android:textColor="#353535"
android:textSize="16sp" />
</RelativeLayout>
</LinearLayout>
3、修改个人信息布局
修改个人信息的界面如下图所示,这些信息的内容都是保存在数据库中,实现这一界面的功能无非就是实现数据库的增删查改,在连接数据库的过程中,需要特别注意要将电脑的防火墙关掉,否则,会连不上数据库,也可以通过发布的 WebServer进行数据的修改,本项目就是通过访问WebServer修改信息的。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<RelativeLayout
android:id="@+id/title"
android:layout_width="match_parent"
android:layout_height="48dp"
android:background="@color/colorPrimary">
<ImageView
android:id="@+id/iv_back"
android:layout_width="40dp"
android:layout_height="match_parent"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:paddingBottom="5dp"
android:paddingLeft="5dp"
android:paddingRight="5dp"
android:paddingTop="5dp"
android:scaleType="centerInside"
android:src="@drawable/top_back_icon" />
<View
android:id="@+id/view_temp"
android:layout_width="1dp"
android:layout_height="match_parent"
android:layout_marginBottom="8dp"
android:layout_marginTop="8dp"
android:layout_toRightOf="@id/iv_back"
android:background="#14191A" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="10dp"
android:layout_toRightOf="@id/view_temp"
android:text="修改资料"
android:textColor="#ffffff"
android:textSize="18sp" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/re_avatar"
android:layout_width="match_parent"
android:layout_height="80dp"
android:layout_marginTop="20dp"
android:background="@drawable/btn_list_item_bg">
<ImageView
android:id="@+id/iv_avatar"
android:layout_width="64dp"
android:layout_height="64dp"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginRight="12dp"
android:src="@drawable/default_face" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="20dp"
android:text="头像"
android:textColor="#353535"
android:textSize="16sp" />
<View
android:layout_width="match_parent"
android:layout_height="0.1dp"
android:layout_alignParentBottom="true"
android:layout_marginLeft="12dp"
android:layout_marginRight="12dp"
android:background="#dadada" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/re_name"
android:layout_width="match_parent"
android:layout_height="48dp"
android:background="@drawable/btn_list_item_bg"
android:clickable="true">
<TextView
android:id="@+id/tv_temp_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:layout_marginLeft="20dp"
android:text="用户名"
android:textColor="#353535"
android:textSize="16sp" />
<EditText
android:id="@+id/tv_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginRight="20dp"
android:layout_toRightOf="@id/tv_temp_name"
android:ellipsize="end"
android:gravity="right"
android:singleLine="true"
android:textColor="#AAAAAA"
android:textSize="14sp" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/re_sex"
android:layout_width="match_parent"
android:layout_height="48dp"
android:layout_marginTop="20dp"
android:background="@drawable/btn_list_item_bg"
android:clickable="true" >
<TextView
android:id="@+id/tv_temp_sex"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:layout_marginLeft="20dp"
android:text="性别"
android:textColor="#353535"
android:textSize="16sp" />
<EditText
android:id="@+id/tv_sex"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginRight="20dp"
android:layout_toRightOf="@id/tv_temp_sex"
android:ellipsize="end"
android:gravity="right"
android:singleLine="true"
android:text="男"
android:textColor="#AAAAAA"
android:textSize="14sp" />
<View
android:layout_width="match_parent"
android:layout_height="0.1dp"
android:layout_alignParentBottom="true"
android:layout_marginLeft="12dp"
android:layout_marginRight="12dp"
android:background="#dadada" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/re_region"
android:layout_width="match_parent"
android:layout_height="48dp"
android:background="@drawable/btn_list_item_bg"
android:clickable="true" >
<TextView
android:id="@+id/tv_temp_region"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:layout_marginLeft="20dp"
android:text="单位"
android:textColor="#353535"
android:textSize="16sp" />
<EditText
android:id="@+id/tv_dianwei"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginRight="20dp"
android:layout_toRightOf="@id/tv_temp_region"
android:ellipsize="end"
android:gravity="right"
android:singleLine="true"
android:textColor="#AAAAAA"
android:textSize="14sp" />
<View
android:layout_width="match_parent"
android:layout_height="0.1dp"
android:layout_alignParentBottom="true"
android:layout_marginLeft="12dp"
android:layout_marginRight="12dp"
android:background="#dadada" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/dianhua"
android:layout_width="match_parent"
android:layout_height="48dp"
android:background="@drawable/btn_list_item_bg"
android:clickable="true">
<TextView
android:id="@+id/tv_temp_region1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:layout_marginLeft="20dp"
android:text="电话"
android:textColor="#353535"
android:textSize="16sp" />
<EditText
android:id="@+id/tv_dianhua"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginRight="20dp"
android:layout_toRightOf="@id/tv_temp_region1"
android:ellipsize="end"
android:gravity="right"
android:singleLine="true"
android:textColor="#AAAAAA"
android:textSize="14sp" />
<View
android:layout_width="match_parent"
android:layout_height="0.1dp"
android:layout_alignParentBottom="true"
android:layout_marginLeft="12dp"
android:layout_marginRight="12dp"
android:background="#dadada" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/youxiang"
android:layout_width="match_parent"
android:layout_height="48dp"
android:background="@drawable/btn_list_item_bg"
android:clickable="true">
<TextView
android:id="@+id/tv_temp_region2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:layout_marginLeft="20dp"
android:text="邮箱"
android:textColor="#353535"
android:textSize="16sp" />
<EditText
android:id="@+id/tv_youxiang"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginRight="20dp"
android:layout_toRightOf="@id/tv_temp_region2"
android:ellipsize="end"
android:gravity="right"
android:singleLine="true"
android:textColor="#AAAAAA"
android:textSize="14sp" />
<View
android:layout_width="match_parent"
android:layout_height="0.1dp"
android:layout_alignParentBottom="true"
android:layout_marginLeft="12dp"
android:layout_marginRight="12dp"
android:background="#dadada" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/ziwei"
android:layout_width="match_parent"
android:layout_height="48dp"
android:background="@drawable/btn_list_item_bg"
android:clickable="true">
<TextView
android:id="@+id/region3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:layout_marginLeft="20dp"
android:text="职位"
android:textColor="#353535"
android:textSize="16sp" />
<EditText
android:id="@+id/zhiwei"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginRight="20dp"
android:layout_toRightOf="@id/tv_temp_region3"
android:ellipsize="end"
android:gravity="right"
android:singleLine="true"
android:textColor="#AAAAAA"
android:textSize="14sp" />
<View
android:layout_width="match_parent"
android:layout_height="0.1dp"
android:layout_alignParentBottom="true"
android:layout_marginLeft="12dp"
android:layout_marginRight="12dp"
android:background="#dadada" />
</RelativeLayout>
<RelativeLayout
android:layout_marginTop="30dp"
android:layout_width="match_parent"
android:layout_height="40dp">
<TextView
android:id="@+id/baocun"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="保存"
android:layout_centerHorizontal="true"
android:textColor="#353535"
android:textSize="16sp"
android:background="@drawable/btn_class"/>
</RelativeLayout>
</LinearLayout>
下面是显示修改资料的代码,知识点主要是如何访问WebServer、解析Json数据以及线程的使用。
下图从底部弹出更换头像选项代码设计
<LinearLayout xmlns:android=“http://schemas.android.com/apk/res/android”
android:orientation=“vertical” android:layout_width=“match_parent”
android:layout_height=“match_parent”
android:gravity=“bottom”
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:paddingBottom="20dp">
<Button
android:id="@+id/image_depot"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/photo_camera_selector"
android:paddingBottom="10dip"
android:paddingTop="10dip"
android:textColor="@color/main_color"
android:text="@string/photo_select_image"
android:textSize="16sp" />
<View
android:layout_marginLeft="5dip"
android:layout_marginRight="5dip"
android:background="@color/main_gray"
android:layout_width="match_parent"
android:layout_height="0.5dip"
/>
<Button
android:id="@+id/photo_camre"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/photo_camera_selector"
android:paddingBottom="10dip"
android:paddingTop="10dip"
android:text="拍照"
android:textColor="@color/main_color"
android:textSize="16sp" />
<Button
android:id="@+id/user_cancel"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dip"
android:background="@drawable/photo_camera_selector"
android:paddingBottom="10dip"
android:textColor="@color/main_color"
android:paddingTop="10dip"
android:text="取消"
android:textSize="16sp" />
实现修改信息代码
public class xiugaiziliao_activity extends Activity {
private static final int CUT_OK = 0x0013;
private static final int CAMERA_REQUEST = 0x0012;
private File tempFile;
private ImageView iv_avatar;
private ImageView iv_back;
private EditText tv_name;
private EditText tv_sex;
private EditText tv_dianwei;
private EditText tv_dianhua;
private EditText tv_youxiang;
private EditText zhiwei;
private TextView baocun;
//WebServer服务变量定义
private static String SOAP_ACTION="*******";
private static String NAMESPACE="**********";
private static String METHON_NAME="*********";
private static String URL="************";
private static String SOAP_ACTION1="***************";
private static String NAMESPACE1="****************";
private static String METHON_NAME1="*************";
private static String URL1="******************";
//获取登陆的用户和密码
private SharedPreferences sharedPreferences;
private String yonghuming;
private String mima;
private String[]sexArry=new String[]{"男","女"};
private Handler handler=new Handler(){
public void handleMessage(android.os.Message msg)
{
if (msg.what==0)
{
String a=msg.obj.toString();
System.out.println("解析之前的数据----》》"+a);
Gson gson=new Gson();
Type listType=new TypeToken<LinkedList<JXuserinfo>>(){
}.getType();
LinkedList<JXuserinfo> jXuserinfos = gson.fromJson(a, listType);
for (Iterator iterator = jXuserinfos.iterator(); iterator.hasNext();)
{
JXuserinfo jXuserinfo=(JXuserinfo)iterator.next();
jXuserinfo.getPHONENUM();
jXuserinfo.getREALNAME();
jXuserinfo.getPOSTJOB();
jXuserinfo.getSEX();
jXuserinfo.getEMAIL();
jXuserinfo.getINSTITUTION();
jXuserinfo.getUSERNAME();
tv_sex.setText(jXuserinfo.getSEX());
tv_name.setText(jXuserinfo.getREALNAME());
tv_dianwei.setText(jXuserinfo.getINSTITUTION());
tv_dianhua.setText(jXuserinfo.getPHONENUM());
tv_youxiang.setText(jXuserinfo.getEMAIL());
zhiwei.setText(jXuserinfo.getPOSTJOB());
}
/* JXuserinfo jXuserinfo=gson.fromJson(a,JXuserinfo.class);
String b=jXuserinfo.getUSERNAME();
jXuserinfo.getEMAIL();
jXuserinfo.getINSTITUTION();
jXuserinfo.getPHONENUM();
tv_sex.setText(jXuserinfo.getSEX());
jXuserinfo.getPOSTJOB();
jXuserinfo.getREALNAME();*/
}
if (msg.what==1)
{
String t= msg.obj.toString();
if (t.equals("ok"))
{
Toast.makeText(getApplicationContext(),"保存资料成功",Toast.LENGTH_SHORT).show();
}
else {
Toast.makeText(getApplicationContext(),"保存资料失败,请重新检查",Toast.LENGTH_SHORT).show();
}
}
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.xiugaiziliao);
iv_avatar=(ImageView)findViewById(R.id.iv_avatar);
RelativeLayout re_sex=(RelativeLayout)findViewById(R.id.re_sex);
re_sex.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
AlertDialog.Builder builder=new AlertDialog.Builder(xiugaiziliao_activity.this);
builder.setSingleChoiceItems(sexArry, 0, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
tv_sex.setText(sexArry[which]);
dialog.dismiss();
}
});
builder.show();
}
});
RelativeLayout re_avatar=(RelativeLayout)findViewById(R.id.re_avatar);
re_avatar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final Dialog dialog=new Dialog(xiugaiziliao_activity.this);
View dialogView=View.inflate(xiugaiziliao_activity.this,R.layout.photo_choose_dialog,null);
dialog.setContentView(dialogView);
Window window=dialog.getWindow();
window.setWindowAnimations(R.style.main_menu_animstyle);
window.setGravity(Gravity.BOTTOM);
window.setLayout(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
//设置点击事件
dialogView.findViewById(R.id.user_cancel).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dialog.dismiss();
}
});
dialog.findViewById(R.id.image_depot).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent albumIntent=new Intent(Intent.ACTION_PICK);
albumIntent.setType("image//*");
startActivityForResult(albumIntent,1);
dialog.dismiss();
}
});
dialog.findViewById(R.id.photo_camre).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// 拍照
Intent getImageByCamera = new Intent("android.media.action.IMAGE_CAPTURE");
// MediaStore.EXTRA_OUTPUT 调用系统拍完之后的照片,就会放到这个tempFile文件
getImageByCamera.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(tempFile));
startActivityForResult(getImageByCamera, CAMERA_REQUEST);
dialog.cancel();
}
});
dialog.show();
}
});
tempFile=new File(Environment.getExternalStorageDirectory(),"temp.png");
iv_back=(ImageView)findViewById(R.id.iv_back);
tv_name=(EditText)findViewById(R.id.tv_name);
tv_dianhua=(EditText)findViewById(R.id.tv_dianhua);
tv_dianwei=(EditText)findViewById(R.id.tv_dianwei);
tv_sex=(EditText)findViewById(R.id.tv_sex);
tv_youxiang=(EditText)findViewById(R.id.tv_youxiang);
zhiwei=(EditText)findViewById(R.id.zhiwei);
baocun=(TextView)findViewById(R.id.baocun);
baocun.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
new Thread(new Runnable() {
@Override
public void run() {
sharedPreferences=getSharedPreferences("config", Context.MODE_PRIVATE);
yonghuming=sharedPreferences.getString("user","");
mima=sharedPreferences.getString("password","");
//获取控件的值
String a=tv_name.getText().toString();
String b=tv_sex.getText().toString();
String c=tv_dianwei.getText().toString();
String d=tv_dianhua.getText().toString();
String E=tv_youxiang.getText().toString();
String f= zhiwei.getText().toString();
SoapObject request=new SoapObject(NAMESPACE1,METHON_NAME1);
request.addProperty("loginusername",yonghuming);
request.addProperty("loginpassword",mima);
request.addProperty("realname",a);
request.addProperty("sex",b);
request.addProperty("institution",c);
request.addProperty("phonenum",d);
request.addProperty("email",E);
request.addProperty("postjob",f);
SoapSerializationEnvelope envelope=new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.dotNet=true;
envelope.bodyOut=request;
envelope.setOutputSoapObject(request);
HttpTransportSE httpTransportSE=new HttpTransportSE(URL1);
httpTransportSE.debug=true;
try{
httpTransportSE.call(SOAP_ACTION1,envelope);
}
catch (Exception e)
{
e.printStackTrace();
}
SoapObject object=(SoapObject)envelope.bodyIn;
String str=object.getProperty(0).toString();
System.out.println("zuihu服务返回数据---->"+str);
Message msg= handler.obtainMessage(1,str);
msg.sendToTarget();
}
}).start();
}
});
iv_back.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
new Thread(new Runnable() {
@Override
public void run() {
sharedPreferences=getSharedPreferences("config", Context.MODE_PRIVATE);
yonghuming=sharedPreferences.getString("user","");
mima=sharedPreferences.getString("password","");
SoapObject request=new SoapObject(NAMESPACE,METHON_NAME);
request.addProperty("loginusername",yonghuming);
request.addProperty("loginpassword",mima);
SoapSerializationEnvelope envelope=new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.dotNet=true;
envelope.bodyOut=request;
envelope.setOutputSoapObject(request);
HttpTransportSE httpTransportSE=new HttpTransportSE(URL);
httpTransportSE.debug=true;
try{
httpTransportSE.call(SOAP_ACTION,envelope);
}
catch (Exception e)
{
e.printStackTrace();
}
SoapObject object=(SoapObject)envelope.bodyIn;
String str=object.getProperty(0).toString();
System.out.println("zuihu服务返回数据---->"+str);
Message msg= handler.obtainMessage(0,str);
msg.sendToTarget();
}
}).start();
}
private void clipImage(Uri uri){
Intent intent = new Intent("com.android.camera.action.CROP");
// 数据 uri 代表裁剪哪一张
intent.setDataAndType(uri, "image/*");
// 传递数据
intent.putExtra("crop", "true");
// aspectX aspectY 是宽高的比例,这里设置的是正方形(长宽比为1:1)
intent.putExtra("aspectX", 1);
intent.putExtra("aspectY", 1);
// outputX outputY 是裁剪图片宽高
intent.putExtra("outputX", 150);
intent.putExtra("outputY", 150);
intent.putExtra("return-data", true);
// 你待会裁剪完之后需要获取数据 startActivityForResult
startActivityForResult(intent, CUT_OK);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode==RESULT_OK)
{
switch (requestCode){
case 1:
Uri uri=data.getData();
clipImage(uri);
break;
case CUT_OK:
Bundle extras=data.getExtras();
if (extras!=null)
{
Bitmap bitmap=extras.getParcelable("data");
iv_avatar.setImageBitmap(bitmap);
//上传图片到服务器,以file形式
//saveBitmapToFile(bitmap);
}
break;
case CAMERA_REQUEST:
clipImage(Uri.fromFile(tempFile));
}
}
}
}
4、拍照上传功能
拍照上传在前面提到,不在详细叙述。
5、实现退出登入
主要是设计一个退出的对话框,设计代码和实现代码如下:
RelativeLayout tuichu=(RelativeLayout)getView().findViewById(R.id.tuichu);
tuichu.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
AlertDialog.Builder builder=new AlertDialog.Builder(getActivity());
builder.setTitle("提示");
builder.setMessage("是否确定退出");
builder.setIcon(R.drawable.gantanhao);
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Intent intent=new Intent();
intent.setClass(getActivity(),activity_login.class);
startActivity(intent);
}
});
builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
AlertDialog alertDialog=builder.create();
alertDialog.show();
}
});