0
私はAzureのアプリサービスを自分のアプリに統合しようとしています。特に、私はAzureによってホストされているデータベースにデータを格納しようとしています。私は、データを正常に挿入することができますが、私はそれを取得しようとするたびに、私のアプリはフリーズする。Azureを照会するとAndroid Appがフリーズする
MainActivity - アクティビティを開始し、空白の接続とテーブルを初期化します。
public class MainActivity extends ActionBarActivity {
/**
* TODO: view data, put data in ordered lists, rate data, scheduler
* **/
Toolbar toolbar;
ViewPager pager;
ViewPageAdapter adapter;
SlidingTabLayout tabs;
CharSequence Titles[]={"New","Trending","Famous"};
int Numboftabs =3;
MobileServiceClient client;
MobileServiceTable<Post> postTable;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Creating The Toolbar and setting it as the Toolbar for the activity
toolbar = (Toolbar) findViewById(R.id.tool_bar);
setSupportActionBar(toolbar);
//manually set action bar color since not happening before
getWindow().setStatusBarColor(getResources().getColor(R.color.colorPrimaryDark));
// Creating The ViewPagerAdapter and Passing Fragment Manager, Titles fot the Tabs and Number Of Tabs.
adapter = new ViewPageAdapter(getSupportFragmentManager(),Titles,Numboftabs);
// Assigning ViewPager View and setting the adapter
pager = (ViewPager) findViewById(R.id.pager);
pager.setAdapter(adapter);
// Assiging the Sliding Tab Layout View
tabs = (SlidingTabLayout) findViewById(R.id.tabs);
tabs.setDistributeEvenly(true); // To make the Tabs Fixed set this true, This makes the tabs Space Evenly in Available width
// Setting Custom Color for the Scroll bar indicator of the Tab View
tabs.setCustomTabColorizer(new SlidingTabLayout.TabColorizer() {
@Override
public int getIndicatorColor(int position) {
return getResources().getColor(R.color.colorAccent);
}
});
// Setting the ViewPager For the SlidingTabsLayout
tabs.setViewPager(pager);
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
.setAction("Action", null).show();
postPrompt();
}
});
//initialize azure
try {
client = new MobileServiceClient("https://firechat.azurewebsites.net", this);
postTable = client.getTable(Post.class);
} catch (MalformedURLException e) {
e.printStackTrace();
}
//testing
//Post post = new Post("haha, so funny :p");
//postTable.insert(post);
}
private String makePost(String input){
Post post = new Post(input);
postTable.insert(post);
return post.text;
}
}
return post.text;
}
}
Tab1を - サーバから取得したデータのリストを移入断片。私は、データのために紺碧を照会しようとすると私のエラーがここにあると信じています。
public class Tab1 extends Fragment {
MainActivity mainActivity;
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View v =inflater.inflate(R.layout.tab_1,container,false);
return v;
}
@Override
public void onStart() {
super.onStart();
try {
//get data from azure
mainActivity = (MainActivity) getActivity();
List<Post> postList= mainActivity.postTable.execute().get();
//List<Post> postList = new ArrayList<Post>();
//set lists
ListView newListView = (ListView) mainActivity.findViewById(R.id.newListView);
NewAdapter newAdapter = new NewAdapter(mainActivity, postList);
newListView.setAdapter(newAdapter);
}catch(Exception e){
}
}
}
私は私の質問を解決しました。私は下に答えを残して、数日後にそれを正しいものとして選ぶでしょう。 – Oblivionkey3