Я разработал веб-сайт в ASP.NET.Сейчас, чтобы иметь быстрое решение, мне нужно приложение для Android для этого.Приложение работает нормально.Приложение открывает WebView с URL (http://example.com? PageID = 1 ), например.
Теперь мне нужно динамическое слайд-меню.Мне нужна такая архитектура.ASP.NET WebService предоставляет мне меню, поэтому в приложении для Android я бы позвонил, как http://example.com? Action = GetMenuXML .Это даст мне структуру XML пунктов меню веб-сайта, и мне нужно, чтобы это использовалось в моем приложении для Android.
Я знаю, как ASP.NET может предоставить нужное мне меню XML, и в моем AndroidПриложение Я знаю, как загрузить его со своего веб-сайта, но в настоящее время я не знаю, как использовать загруженный XML для скользящего навигационного меню в моем приложении для Android.
У меня есть опыт работы с C # и ASP.NET, но я новичок в создании приложений для Android.Java легка для меня и очень похожа на C #, так что это облегчает.
Код ASP.NET для предоставления меню похож на
if (Request.QueryString["Action"] != null) {
string Action = Request.QueryString["Action"].ToString();
string MyMenu = "<item>StartPage</item><item>Page2</item>";
Response.Write(MyMenu);
}
Код для загрузки менюс моего веб-сайта в приложении для Android:
public static String DoDownload(String DownloadUrl) {
String ret = "";
try {
URL url = new URL(DownloadUrl);
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
try {
InputStream in =new BufferedInputStream(urlConnection.getInputStream());
BufferedReader reader = new BufferedReader(new InputStreamReader( in ));
StringBuilder sb = new StringBuilder();
String line;
while ((line = reader.readLine()) != null) {
sb.append(line);
}
ret = sb.toString();
} finally {
urlConnection.disconnect();
}
}
catch(IOException e) {
}
return ret;
}
Пока у меня есть целое меню в строке, но как использовать this в качестве навигационного меню Android?
Хорошо, я наконец-то начал работать, это было намного проще, чем я думал.
public void FillMenuFromWebService(String whichOne)
{
String resp = "";
if(MyGlobal.Menu_Destinations.isEmpty()) {
//At start of the app, i will download the menu from the WebService...
resp = MyGlobal.DoDownload(MyGlobal.getWebServiceUrl() + "?GetMenu=" + whichOne);
resp = MyGlobal.ExtractServerResponse(resp);
MyGlobal.Menu_Destinations = resp;
}
else
{
resp = MyGlobal.Menu_Destinations;
}
String[] theItems = resp.split("<br/>");
Menu menu = navigationView.getMenu();
String theTitle = "";
for(int i = 0;i< theItems.length; i++)
{
theTitle = MyGlobal.GetParmValue(theItems[i], "Text");
//I need something like Value here like menu.add(theTitle, theValue);
menu.add(theTitle);
}
navigationView.invalidate();
}
Но я для Android MenuItem Я пропускаю что-то вроде Value, которое я хочу использовать, когда нажимается этот MenuItem .. Любая идея