Подключение Android к ASP.NET MVC с помощью json - PullRequest
2 голосов
/ 15 февраля 2011

У меня есть приложение asp.net MVC 2.0.У меня также есть сервис WFC, если я хочу пойти по этому пути.но я не особенно люблю разбирать XML на Java.(Я не работал на Java около 7 лет).Я впервые использую eclipse, поэтому, пожалуйста, объясните мне что-то вроде android / java noob.

После некоторых исследований я думаю, что хотел бы использовать свой MVC-сайт в качестве успокаивающего сервиса для передачи jsonтуда и обратно между андроидом и сервером.Я знаю, как передать Json из контроллера:

public ActionResult SomeActionMethod() 
{
    return Json(new {foo="bar", hello="World"});
}

Как мне подключиться к сервису и затем преобразовать json в объекты в моем приложении для Android?

Ответы [ 3 ]

2 голосов
/ 15 февраля 2011

На высоком уровне используйте HttpClient для получения данных из службы RESTful и используйте JSONObject для анализа ответа.Когда вы соберете немного кода и застрянете, мы можем помочь вам еще

1 голос
/ 15 февраля 2011

Android имеет встроенный анализатор JSON в свой SDK - пакет org.json

Кроме этого, вы можете использовать библиотеки, такие как Gson, которые оборачивают синтаксический анализ json в простой в использовании API.Вот краткое руководство по тому же, что и пример WCF: Пример / учебное пособие по Gson

Надеюсь, что приведенная выше информация будет полезна в вашем контексте.

Помимо этого я быхотел бы упомянуть мое скромное мнение о вашем решении продолжить работу с нативным приложением Android и службами WCF Json.Если вам кажется, что работа с Android-разработкой немного обременительна - и если вы знакомы с .NET MVC и ASP.NET, то вам следует взглянуть на такие платформы, как Sencha Touch - Snecha Touch URL

Sencha Touch - это фреймворк javascript, который можно сгенерировать на ваших страницах ASPX - фреймворк создает внешний вид, похожий на нативный внешний вид Android и iPhone.Вы можете попробовать примеры на вашем устройстве.Это позволило бы вам сэкономить усилия по изучению нового языка и API SDK - с гибкостью использования сервисов RESTful через инфраструктуру javascript, где поддержка JSON является родной.

Это, на мой взгляд, я не знаю контекста, вы были бы лучшим судьей при выборе платформы.

1 голос
/ 15 февраля 2011

Для перевода объектов JSON я лично использую парсер Джексона.Получите .jar lib здесь: http://jackson.codehaus.org/1.7.3/jackson-all-1.7.3.jar.

Вот пример того, как я его использую (есть много разных способов, которые могут вас порадовать больше. Посетите сайт Джексона для получения дополнительной информации):

        JsonNode userData = null;
        ObjectMapper mapper = new ObjectMapper();
        try {
            userData = mapper.readValue(res.getEntity().getContent(), JsonNode.class);
            String name = (String)userData.get("name").getTextValue();
        } catch (Exception e) {
            alert(R.string.errorGeneral);
            e.printStackTrace();
            return;
        }

Что касается http-клиента, вы можете сделать это

HttpResponse res;
        DefaultHttpClient httpclient = new DefaultHttpClient();
        try{
            HttpGet get = new HttpGet(URI.create("http://yourlink"));
            res = httpclient.execute(get);
        }catch(Exception e){
            e.printStackTrace();
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...