Я разрабатываю гибридное приложение для Android, и теперь я изучаю собственный андроид. Я хочу создать простой табличный вид в собственном андроиде. Теперь в ионном я делаю это.Как отобразить массив объектов в ListView с колонками android?
JS
$scope.get_users = function(){
$http.post('192.168.0.132/api/get_users', {is_active:true})
.success(function(data){
$scope.users = data;
}.error(function(Error_message){
alert(Error_message)
}
}
HTML
<table>
<thead>
<tr>
<th>Name</th>
<th>Role</th>
</tr>
<tbody>
<tr ng-repeat="user in users">
<td ng-bind="::user.name"></td>
<td ng-bind="::user.role"></td>
<td><button ng-click="select_user(user)"></td>
</tr>
</tbody>
</table>
Простой правильно? и все установлено.
Сейчас в android это мой код.
public void get_users(){
HttpURLConnection urlConnection;
int length = 5000;
try {
// Prepare http post
URL url = new URL("http://192.168.0.132/api/get_users");
urlConnection = (HttpURLConnection) url.openConnection();
urlConnection.setRequestProperty("Authorization", "");
urlConnection.setRequestMethod("POST");
urlConnection.setDoInput(true);
urlConnection.setDoOutput(true);
urlConnection.setUseCaches(false);
urlConnection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
// initiate http post call
urlConnection.connect();
// Get input stream
InputStream is = urlConnection.getInputStream();
// Convert Stream to String
String contentAsString = convertInputStreamToString(is, length);
// Initialize Array
JSONArray jObj = new JSONArray(contentAsString);
int length = jObj.length();
List<String> listContents = new ArrayList<String>(length);
// Convert JSON Array to
for(int i=0; i<jObj.length(); i++){
listContents.add(jObj.getString(i).toString());
}
// Set the array to listview adapter and set adapter to list view
ListView myListView = (ListView) findViewById(R.id.listView2);
ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, listContents);
myListView.setAdapter(arrayAdapter);
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (JSONException e) {
e.printStackTrace();
}
}
public String convertInputStreamToString(InputStream stream, int length) throws IOException, UnsupportedEncodingException {
Reader reader = null;
reader = new InputStreamReader(stream, "UTF-8");
char[] buffer = new char[length];
reader.read(buffer);
return new String(buffer);
}
Как я могу сделать это намного проще и как стол с колонками? Благодаря!
Спасибо! я попытаюсь реализовать это –