Android/Java应用程序导入
抱歉我的无知,因为我对Java和Android应用程序设计非常陌生。我正在使用Android Studio和一个导入的函数库(Robotracontuer)来设计一个应用程序,以连接并将消息/数据发送到我电脑上运行的Tcp服务——所有本地连接 问题是我无法让Android Studio识别我的任何“mathq”脚本(我创建的另一组脚本)或其中的任何函数 **************我相信错误在于不正确地导入或目录放置这些文件************************** 这些mathq函数允许android应用程序调用一个函数,就像它内置在应用程序中一样——即使函数和处理,或者在本例中,从应用程序发送的两个数字的相加,都是在我的PC上的实际服务上完成的 编译错误图片和项目目录: 提前感谢:) 包com.example.michael.smartbuttonAndroid/Java应用程序导入,java,android,Java,Android,抱歉我的无知,因为我对Java和Android应用程序设计非常陌生。我正在使用Android Studio和一个导入的函数库(Robotracontuer)来设计一个应用程序,以连接并将消息/数据发送到我电脑上运行的Tcp服务——所有本地连接 问题是我无法让Android Studio识别我的任何“mathq”脚本(我创建的另一组脚本)或其中的任何函数 **************我相信错误在于不正确地导入或目录放置这些文件************************** 这些mathq函数
import com.robotraconteur.*;
import com.example.michael.smartbutton.mathq.*;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View; //view is any type of widget
import android.widget.Button;
import android.widget.TextView;
//import com.example.michael.smartbutton.example.math.*;
//import com.example.michael.example.math.*;
public class MainActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button mikesButton = (Button)findViewById(R.id.mikesButton); //typecast to Button -- we called them the same thing as the ID in XML
mikesButton.setOnClickListener( //Beginning of CLick event listener
new Button.OnClickListener() { //Interface for our Callback method
public void onClick(View v){ //callback method
TextView mikesText = (TextView)findViewById(R.id.mikesText);
mikesText.setText("Short click sent");
//////BEGGINING OF ROBOT RACONTEUR
//Create and register a TcpTransport
TcpTransport t=new TcpTransport(); //from java sample
RobotRaconteurNode.s().registerTransport(t); //from java sample
//Register the Create_interface service type
RobotRaconteurNode.s().registerServiceType(new mathqFactory());
MathSolver m = (MathSolver)RobotRaconteurNode.s().connectService("tcp://199.172.0.129:1234/example.math/MathSolver",null,null,null,"example.math.MathSolver");
m.add(10,11);
//Connect to the service
// Create c=(Create)RobotRaconteurNode.s().connectService("tcp://localhost:2354/{0}/Create",null,null,null,"experimental.create.Create");
//FROM JAVA DOC
//Shutdown the node. This must be called or the program won't exit.
RobotRaconteurNode.s().shutdown();
}
}
);
mikesButton.setOnLongClickListener(
new Button.OnLongClickListener(){
public boolean onLongClick(View v){
TextView mikesText = (TextView)findViewById(R.id.mikesText);
mikesText.setText("that was a long one!");
return true; //you need to tell android you handled this click. then onClick listener can go to sleep for now
}
}
); //Finger is on button for > a second
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
[注意:您必须单击“缩放”按钮或禁用adblock并刷新以查看图像:)我没有看到java程序顶部的包声明?您可以共享清单文件以进行交叉验证吗?如果您已将mathq编译为JAR文件,并希望将其导入android应用程序,请参阅并感谢您的帮助Zigma!!我是ly刚刚与我办公桌上的另一位程序员一起解决了这个问题。问题是,自动生成的文件有一个包文件名的包语句;要更正这个问题,这些文件需要位于MainActivity目录上方的Java文件夹中。修复了所有提到的错误!(目录问题)