<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_management"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="#d1d1d1"
tools:context=".ManagementActivity">
<ListView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/listView"
android:layout_marginTop="10dp"
android:layout_marginRight="15dp"
android:layout_marginLeft="15dp"
android:dividerHeight="10dp"
android:divider="#a1a1a1"></ListView>
</LinearLayout>
management 레이아웃을 관리해줍니다
android:orientation="vertical"
LinearLaout으로 하면 추가해줍니다
android:dividerHeight="10dp"
밑에 회색으로 뛰가 보이죠 ?? 그간격입니다.
위에 처럼 레이아웃을 꾸미면 이젠 각각의 사용자의 정보를 어떻게 넘겨줄지에 대한 레이아웃을 만들어줍니다.
user 라고 만들어줍니다.
/////////////////////////////////////////////
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:paddingTop="5dp"
android:paddingBottom="5dp"
android:background="#ffffff"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/userID"
android:text="아이디"
android:textSize="20dp"
android:textColor="#00a7f5"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/userPassword"
android:text="비밀번호"
android:textSize="15dp"
android:textColor="#92a3f"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/userName"
android:text="이름"
android:textSize="20dp"
android:textColor="#000"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/userAge"
android:text="나이"
android:textSize="18dp"
android:textColor="#a902f0"/>
</LinearLayout>
//////////////////////////////
////////////////////////이것을 레이아웃에 넣으니깐 소스가 죽었어요 ㅜㅜ 되는걸로 다시밑에추가
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:paddingTop="5dp"
android:paddingBottom="5dp"
android:background="#ffffff"
tools:context=".ManagementActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/userID"
android:text="아이디"
android:textSize="20dp"
android:textColor="#00a7f5"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/userPassword"
android:text="비밀번호"
android:textSize="15dp"
android:textColor="#74dff5"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/userName"
android:text="이름"
android:textSize="26dp"
android:textColor="#000"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/userAge"
android:text="나이"
android:textSize="18dp"
android:textColor="#7f5"
/>
</LinearLayout>
이게되는거다. user 레이아웃
user layout 디자인
하나의 사용자에 대한 정보를 담을수 있는 User라는 Class를 만들어줍니다.
이렇게 하면 생성자를 쉽게 만들 수 있습니다.
GEtter and Setter 기능을 이용해서 각각의 생성자도 만들어줍니다.
package org.techtown.management;
public class User {
String userID;
String userPassword;
String userName;
String userAge;
public String getUserID() {
return userID;
}
public void setUserID(String userID) {
this.userID = userID;
}
public String getUserPassword() {
return userPassword;
}
public void setUserPassword(String userPassword) {
this.userPassword = userPassword;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getUserAge() {
return userAge;
}
public void setUserAge(String userAge) {
this.userAge = userAge;
}
public User(String userID, String userPassword, String userName, String userAge) {
this.userID = userID;
this.userPassword = userPassword;
this.userName = userName;
this.userAge = userAge;
}
}
User Class
생성 완료
다음으로는 UserLsitAdapter가 필요합니다.
BaseAdapter를 상속받고 붉은 전구 표시를눌러 필요한 메소드들을 자동입력 받습니다.
package org.techtown.management;
import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.LinearLayout;
import android.widget.TextView;
import java.util.List;
public class UserListAdapter extends BaseAdapter {
private Context context;
private List<User> userList;
//생성자 생성
public UserListAdapter(Context context, List<User> userList){
this.context = context;
this.userList = userList;
}
@Override
public int getCount() {
//현재사용자의 개수 반환
return userList.size();
}
@Override
public Object getItem(int position) {
return userList.get(position);
}
@Override
public long getItemId(int position) {
//그대로 반환
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
//하나의 사용자에대한 view를 보여주는 부분
//한명의 사용자에대한 view가 만들어진다.
View v = View.inflate(context,R.layout.user,null);
TextView userID = (TextView)v.findViewById(R.id.userID);
TextView userPassword = (TextView)v.findViewById(R.id.userPassword);
TextView userName = (TextView)v.findViewById(R.id.userName);
TextView userAge = (TextView)v.findViewById(R.id.userAge);
userID.setText(userList.get(position).getUserID());
userPassword.setText(userList.get(position).getUserPassword());
userName.setText(userList.get(position).getUserName());
userAge.setText(userList.get(position).getUserAge());
//특정 user에 아이디값을 그대로 반환할수 있게 해준다
v.setTag(userList.get(position).getUserID());
return v;
}
}
userListAdapter 코딩완료
managementActivity로 와서 방금만든 userListAdpater를 사용해봅니다.
임폴트가 안되어있으면 Alrt + enter 로 import 해주면 됩니다.
package org.techtown.management;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ListView;
import android.widget.TextView;
import java.util.ArrayList;
import java.util.List;
public class ManagementActivity extends AppCompatActivity {
//상속받아본다 만들어둔 클래스를
private ListView listView;
private UserListAdapter adapter;
private List<User> userList;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_management);
Intent intent = getIntent();
//초기화를 해줘야지 실행이된다
listView = (ListView) findViewById(R.id.listView);
userList = new ArrayList<User>();
userList.add(new User("홍민","정민","홍정","20"));
userList.add(new User("정민","민정","김정","25"));
userList.add(new User("정민","라로","춘정","24"));
userList.add(new User("로민","리로","황정","22"));
adapter = new UserListAdapter(getApplicationContext(),userList);
listView.setAdapter(adapter);
}
}
매너지먼트 파일을 이렇게 관리해주면 쉽게 관리해줄수있다 이제는 저것을
데이터베이스로 불러오게 바꾸어보자
위에는 내가 준값이고 이제는 데이터베이스에서 받아와보겠습니다.
package org.techtown.management;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ListView;
import android.widget.TextView;
import org.json.JSONArray;
import org.json.JSONObject;
import java.util.ArrayList;
import java.util.List;
public class ManagementActivity extends AppCompatActivity {
//상속받아본다 만들어둔 클래스를
private ListView listView;
private UserListAdapter adapter;
private List<User> userList;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_management);
Intent intent = getIntent();
//초기화를 해줘야지 실행이된다
listView = (ListView) findViewById(R.id.listView);
userList = new ArrayList<User>();
adapter = new UserListAdapter(getApplicationContext(),userList);
listView.setAdapter(adapter);
try{
JSONObject jsonObject = new JSONObject(intent.getStringExtra("userList"));
JSONArray jsonArray = jsonObject.getJSONArray("response");
int count =0;
String userID,userPassword,userName,userAge;
while(count<jsonArray.length())
{
JSONObject object = jsonArray.getJSONObject(count);
userID = object.getString("userID");
userPassword = object.getString("userPassword");
userName = object.getString("userName");
userAge = object.getString("userAge");
User user = new User(userID,userPassword,userName,userAge);
userList.add(user);
count++;
}
} catch (Exception e){
e.printStackTrace();
}
}
}
try catch 문을 통해서 오류를 잡아내고 JSONObject를 통해서 userList를 받아옵니다.
받아온 jsonArray의 길이 즉 회원들의 개수만큼 while문을 돌면서
각각의 값을 가져와서 add 해주는 것입니다.
출력화면
'개인공부' 카테고리의 다른 글
안드로이드 : 회원 관리 프로젝트(회원 검색 기능) (0) | 2020.07.08 |
---|---|
안드로이드 : 회원 관리 프로젝트(회원 삭제) (0) | 2020.07.08 |
안드로이드 : 회원 관리 프로젝트(회원 출력,버튼 hide) (0) | 2020.07.08 |
안드로이드 : 회원 관리 프로젝트(로그인 및 메인 화면) (0) | 2020.07.08 |
안드로이드 : 회원 관리 프로젝트(회원가입) (0) | 2020.07.08 |