У меня странная проблема. Я разрабатывал приложение, используя формы xamarin, которые используют API, написанный на php на заднем плане. iOS-версия приложения работает нормально, а Android-версия хорошо работает на симуляторе. Когда я архивирую и устанавливаю файл apk на реальном устройстве, он всегда выдает ошибку для всех функций API. Не удалось найти причину, по которой иду не так.
Архивирование моего apk-файла с armeabi-v7a и возможностью связывания в качестве пользовательских сборок и сборок Sdk только в режиме выпуска.
Мне не хватает каких-либо свойств, которые нужно установить для архивирования моего проекта?
Любая помощь будет оценена.
public async void OnLogin()
{
string url = "http://www.example.com/UserController/login";
HttpClient client = new HttpClient();
object userjson = new
{
email = Email.Text.ToLower(),
password = Password.Text
};
var myContent = JsonConvert.SerializeObject(userjson);
Console.WriteLine("Post Content" + myContent);
var buffer = System.Text.Encoding.UTF8.GetBytes(myContent);
var byteContent = new ByteArrayContent(buffer);
byteContent.Headers.ContentType = new MediaTypeHeaderValue("application/json");
Console.WriteLine("Inside Login() Method");
Console.WriteLine("Json Content::" + myContent);
Console.WriteLine("Json Byte::" + byteContent.ReadAsStringAsync());
var response = await client.PostAsync(url, byteContent).ConfigureAwait(false);
var code = response.StatusCode;
Console.WriteLine("Code::" + code);
if (code.ToString() == "OK")
{
string res = response.Content.ReadAsStringAsync().Result;
App.serverToken = "activated";
App.Current.Properties["Token"] = App.serverToken;
await Application.Current.SavePropertiesAsync();
isValid = true;
Console.WriteLine("Token::" + App.serverToken);
}
else
{
isValid = false;
Device.BeginInvokeOnMainThread(() =>
{
LoginFaild.Text = "InCorrect Email or Password";
Email.Text = string.Empty;
Password.Text = string.Empty;
});
}
}
Это метод доступа к API с помощью Postasync.