Java 正在检查Azure已连接数据库onClick是否登录

Java 正在检查Azure已连接数据库onClick是否登录,java,azure,android-studio,azure-mobile-services,Java,Azure,Android Studio,Azure Mobile Services,所以Azure为我插入以下代码到活动中(我使用的是Android Studio) 在包含启动程序活动的.java文件顶部添加以下行: import com.microsoft.windowsazure.mobileservices.*; 在活动中,添加一个私有变量 private MobileServiceClient mClient; 在活动的onCreate方法中添加以下代码: mClient = new MobileServiceClient("https://pbbingo.azur

所以Azure为我插入以下代码到活动中(我使用的是Android Studio)

在包含启动程序活动的.java文件顶部添加以下行:

import com.microsoft.windowsazure.mobileservices.*;
在活动中,添加一个私有变量

private MobileServiceClient mClient;
在活动的onCreate方法中添加以下代码:

mClient = new MobileServiceClient("https://pbbingo.azurewebsites.net", this);
将示例项类添加到项目::

public class ToDoItem{ public String id; public String Text;}
在定义McClient的同一活动中,添加以下代码:

ToDoItem item = new ToDoItem();
item.Text = "Don't text and drive";
mClient.getTable(ToDoItem.class).insert(item, new TableOperationCallback<item>(){
public void onCompleted(ToDoItem entity, Exception exception, ServiceFilter response)
{
if(exception == null){
//Insert Succeeded
} else {
//Insert Failed 
}
}});
ToDoItem item=newtodoitem();
item.Text=“不发送文本并驱动”;
mClient.getTable(ToDoItem.class).insert(项,new TableOperationCallback()){
未完成公共void(ToDoItem实体、异常、ServiceFilter响应)
{
if(异常==null){
//插入成功
}否则{
//插入失败
}
}});
我的目标是创建一个登录页面。我知道上面提到的可能更多的是为了一个收费者。今天我只想把语法弄对。我认为问题在于我的基本班级结构。我在oncreate中创建了一个OnClick侦听器,它从布局中的按钮获取ID。我不需要它检查数据库中的任何内容,直到按钮被实际单击以登录或注册

public class LoginClass extends AppCompatActivity{  
       public void onCreate(Bundle savedInstanceState) {
          setContentView(R.layout.MyLoginLayout);
          MobileServiceClient mClient = null; 

          try {
              mClient = new MobileServiceClient ("myAzureWebsite", "AzureKey", this);
} catch (MalformedURLException e) {
e.printStackTrace();
}

Button Attempt = (Button) findViewById (R.id.mySubmitButton);
final MobileServiceClient finalMClient = mClient; // finalized so I can use it later. 

Attempt.setOnClickListener(new View.OnClickListener() {
     @Override
     public void onClick (View v) {
         final View thisView = v;
         final MyToDoItemClass item = new MyToDoItemClass();

In MyToDoItemClass I have two variables (Both String) Just left over from
the example of a ToDoList (they are String ID and String Text)

         item.Text = "Filler"; 
         item.ID = "Fill";
finalMClient.getTable(MyToDoItemClass.class).insert(new Table OperationCallback<item>() { //<--- I'm getting an error that the variable, item
is from an unknown class...

public void onCompleted (Item entity, Exception exception, ServiceFilterResponse response){
if(exception == null) {
Intent i = new Intent (LoginClass.this, MainActivity.class);
startActivity(i);
}else{
Toast.makeText(thisView.getContext(), "Failed", Toast.LENGTH_LONG).show();
}}
});
}
});
}}
public class LoginClass扩展了AppCompatActivity{
创建时的公共void(Bundle savedInstanceState){
setContentView(R.layout.MyLoginLayout);
MobileServiceClient mClient=null;
试一试{
mClient=新的移动服务客户端(“MyAzureWeb”,“AzureKey”,this);
}捕获(格式错误){
e、 printStackTrace();
}
按钮尝试=(按钮)findViewById(R.id.mySubmitButton);
final MobileServiceClient finalClient=mClient;//已完成,以便稍后使用。
test.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
最终视图thisView=v;
最终MyToDoItemClass项=新的MyToDoItemClass();
在MyToDoItemClass中,我有两个变量(都是字符串)刚刚从
ToDoList的示例(它们是字符串ID和字符串文本)
item.Text=“Filler”;
item.ID=“填充”;

finalMClient.getTable(MyToDoItemClass.class).insert(新表操作callback(){/代码中有许多问题,如下所示

  • 根据类的javadoc,没有方法
    insert(TableOperationCallback)
    ,因此代码
    finalClient.getTable(MyToDoItemClass.class).insert(新表OperationCallback(){…}
    无效

  • Table OperationCallback
    中的泛型
    E
    意味着您需要编写一个POJO类名而不是
    E
    ,而不是像
    item
    那样的对象变量名,因此正确的代码应该是
    new Table OperationCallback
    ,请参阅以了解更多详细信息

  • 下图显示了类
    MobileServiceClient
    的所有方法
    insert
    。方法名称下的粗体字
    已弃用
    ,表示您不应将其用于开发新项目,它仅与新版本Java SDK上的旧项目兼容


  • 请按照官方要求开发您的应用程序。如有任何问题,请随时通知我。

    非常感谢。我假设提供的方法是自给自足的(只要包含导入和适当的库文件夹),但我现在会正确地将其组合在一起。