如何解决应用程式已在Googleplaystore上运行时出现问题
我在playstore上有我的!我创建的abb文件意味着捆绑并将其上传到playstore! 但是,一些用户报告说应用程序崩溃了! 在游戏机上,我看到了!可能是什么问题? 我无法在手机上产生错误!
android.runtime.JavaProxyThrowable: at EssentialUIKit.Views.LoginMainPage.button_click (System.Object sender,System.EventArgs e) [0x000eb] in <dd89ab5987f348e3a107964f083c30c9>:0
at System.Runtime.CompilerServices.AsyncmethodBuilderCore+<>c.<ThrowAsync>b__7_0 (System.Object state) [0x00000] in <4799ff6d5af74680947c128f04c5aac7>:0
at Android.App.SyncContext+<>c__displayClass2_0.<Post>b__0 () [0x00000] in <251f579ce98f4e919a60c874b3bc7ec1>:0
at java.lang.Thread+RunnableImplementor.Run () <0x7387509b30 + 0x0004b> in <251f579ce98f4e919a60c874b3bc7ec1>:0
at java.lang.IRunnableInvoker.n_Run (system.intPtr jnienv,system.intPtr native__this) [0x00008] in <251f579ce98f4e919a60c874b3bc7ec1>:0
at (wrapper dynamic-method) Android.Runtime.DynamicmethodNameCounter.45(intptr,intptr)
at mono.java.lang.RunnableImplementor.n_run (Native Method)
at mono.java.lang.RunnableImplementor.run (UnkNown Source)
at android.os.Handler.handleCallback (Handler.java:873)
at android.os.Handler.dispatchMessage (Handler.java:99)
at android.os.Looper.loop (Looper.java:201)
at android.app.ActivityThread.main (ActivityThread.java:6864)
at java.lang.reflect.Method.invoke (Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:547)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:873)
这是我的登录主页的代码! 如果需要,它是xaml.cs文件,我也可以添加xaml文件!
using EssentialUIKit.Models;
using Flurl.Http;
using Newtonsoft.Json;
using Plugin.Connectivity;
using sqlite;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using Xamarin.Essentials;
using Xamarin.Forms;
using Xamarin.Forms.Xaml;
namespace EssentialUIKit.Views
{
[XamlCompilation(XamlCompilationoptions.Compile)]
public partial class LoginMainPage : ContentPage
{
public sqliteConnection conn;
string Pwd,UID;
string CompanyId,CompanyName,baselink,GpId;
public LoginMainPage()
{
InitializeComponent();
conn = DependencyService.Get<Isqlite>().GetConnection();
conn.CreateTable<AuthModel>();
conn.CreateTable<ButtonHiderCounter>();
conn.CreateTable<UserInfo>();
var seconds = TimeSpan.FromSeconds(2);
Device.StartTimer(seconds,() =>
{
CheckConnection();
return false;
});
var count = (from y in conn.Table<AuthModel>() select y.Id).ToList();
if (count.Count() == 0)
{
auth.IsVisible = true;
}
else if (count.Count() > 0)
{
auth.IsVisible = false;
chnglbl.IsVisible = true;
CompanyPicker.IsVisible = true;
CmpnyBorder.IsVisible = true;
CallCompanyApi();
}
UserIdEntry.TextChanged += Userid_change;
PasswordEntry.TextChanged += PWd_change;
}
private void CheckConnection()
{
if (!CrossConnectivity.Current.IsConnected)
{
Device.BeginInvokeOnMainThread(() =>
{
displayAlert("Alert","You need an active internet connection! Please try again after connecting to the internet.","OK");
});
}
else
return;
}
void Userid_change(object sender,TextChangedEventArgs e)
{
var OldText = e.OldTextValue;
var newText = e.NewTextValue;
UID = newText;
}
void PWd_change(object sender,TextChangedEventArgs e)
{
var oldText = e.OldTextValue;
var newText = e.NewTextValue;
Pwd = newText;
}
async void CallCompanyApi()
{
var Aa = (from y in conn.Table<AuthModel>() select y.BaseLink).ToList();
baselink = Aa.SingleOrDefault();
var Cc = (from y in conn.Table<AuthModel>() select y.GroupId).ToList();
GpId = Cc.SingleOrDefault();
string urlx = baselink + "/organizations/company/getcbobycompanygroup?companyGroupId=" + GpId;
var data = await urlx.GetJsonAsync<List<MyClass>>();
CompanyPicker.DataSource = data;
CompanyPicker.displayMemberPath = "Text";
CompanyPicker.SelectionChanged += PickerSelect;
}
protected void PickerSelect(object sender,Syncfusion.XForms.ComboBox.SelectionChangedEventArgs e)
{
var item = (MyClass)CompanyPicker.SelectedItem;
var x = item.Value;
var y = item.Text;
CompanyId = x;
CompanyName = y;
var valx = (from yx in conn.Table<ButtonHiderCounter>() select yx.Id).ToList();
ButtonHiderCounter data = new ButtonHiderCounter();
ButtonHiderCounter datax = new ButtonHiderCounter();
data.CompanyName = CompanyName;
data.CompanyId = CompanyId;
if (valx.Count() == 0)
{
conn.Insert(data);
}
else if (valx.Count() > 0)
{
Int64 id = valx.SingleOrDefault();
datax.CompanyName = CompanyName;
datax.CompanyId = CompanyId;
datax.Id = id;
conn.Update(data);
}
}
private async void AuthClick(object sender,EventArgs e)
{
await Navigation.PushAsync(new AuthPage());
}
private async void button_click(object sender,EventArgs e)
{
if (UID != null && Pwd != null)
{
var current = Connectivity.NetworkAccess;
if (current == NetworkAccess.Internet)
{
var Bb = (from y in conn.Table<AuthModel>() select y.AuthenticationToken).ToList();
string AToken = Bb.SingleOrDefault();
var Dd = (from y in conn.Table<ButtonHiderCounter>() select y.CompanyName).ToList();
string CmpName = Dd.SingleOrDefault();
var Ee = (from y in conn.Table<ButtonHiderCounter>() select y.CompanyId).ToList();
string CmpID = Ee.SingleOrDefault();
var split = baselink.Split('/');
string Groupname = split[3];
string url = baselink + "/api/Security/GetLogin?timezoneoffset=&&userId=" +UID+ "&&password="+ Pwd + "&&remember=null&&authenticationToken=" + AToken + "&&groupId=" + GpId + "&&groupName=" + Groupname + "&&companyId=" + CmpID +
"&&companyName=" + CmpName + "&&appId=1";
string Status="",IsSysadmin;
HttpClient client = new HttpClient();
var request = await client.GetStringAsync(url);
var response = JsonConvert.DeserializeObject<LoginModel>(request);
Status = response.Status;
IsSysadmin = response.IsSysAdmin;
try
{
if (Status.Equals("Success"))
{
UserInfo User = new UserInfo();
int x = 0;
var xy = (from y in conn.Table<UserInfo>() select y.Id).ToList();
if (xy.Count() == 0)
{
User.UserId = UID;
User.Password = Pwd;
User.IsSysAdmin = IsSysadmin;
x = conn.Insert(User);
}
else
{
var id = xy.SingleOrDefault();
UserInfo Userx = new UserInfo();
Userx.UserId = UID;
Userx.Password = Pwd;
Userx.IsSysAdmin = IsSysadmin;
Userx.Id = id;
x = conn.Update(Userx);
}
if (x == 1)
{
await Navigation.PushAsync(new HomePage());
}
}
else
{
Device.BeginInvokeOnMainThread(async () =>
{
await displayAlert("Alert","Invalid Credentials Added","Ok");
});
}
}
catch (Exception ex)
{
Device.BeginInvokeOnMainThread(async () =>
{
await displayAlert("Alert","Ok");
});
throw ex;
}
}
else
{
Device.BeginInvokeOnMainThread(() =>
{
displayAlert("Alert","OK");
});
}
}
else
{
Device.BeginInvokeOnMainThread(async () =>
{
await displayAlert("Alert","You have to choose required fields","OK");
});
}
}
}
}
我不确定是什么原因引起的!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。