- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我已经实现了下面的代码。服务器从客户端接收图像,然后 matlab 检测到一些对象并保存新图像face.jpg 然后我尝试将一些点发送回客户端代码卡在//////////我的客户端代码的一部分中:
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Thread.sleep(15000);
Log.d("myTag","Test message11");
try {
points = inFromServer.readLine();
}catch(Exception IO){
Log.d("myTag","Fails to read from server");
}
Log.d("myTag",points);
sock.close();
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
整个 Android 客户端代码都在这里。大家有什么想法吗?请帮忙。
public class MyActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my);
}
int TAKE_PHOTO_CODE = 0;
public static int count=0;
public static String message="SENT";
public void button2OnClick(final View k){
//Connecting to server and send the picture
new Thread(new Runnable(){
public void run(){
try {
int i;
FileInputStream fis = new FileInputStream (Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES) + "/picFolder/1.jpg");
Socket sock = new Socket("192.168.1.91", 6789);
DataOutputStream os = new DataOutputStream(sock.getOutputStream());
BufferedReader inFromServer = new BufferedReader(new InputStreamReader(sock.getInputStream()));
byte[] buffer = new byte[1024];
int bytesRead;
while ((i = fis.read()) > -1)
os.write(i);
fis.close();
os.close();
//lhyh apotelesmatos apo server
String points;
points="";
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Thread.sleep(15000);
Log.d("myTag","Test message11");
try {
points = inFromServer.readLine();
}catch(Exception IO){
Log.d("myTag","Fails to read from server");
}
Log.d("myTag",points);
sock.close();
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
File filePath2 = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES) + "/picFolder/1.jpg");
filePath2.delete();
//File filePath2 = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES) + "/picFolder");
//filePath2.delete();
}catch (Exception IO){
message="NOT SENT";
File filePath = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES) + "/picFolder/1.jpg");
filePath.delete();
File filePath2 = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES) + "/picFolder");
filePath2.delete();
Log.d("myTag",message);
}
}
}).start();
Button button=(Button) k;
((Button) k).setText(message);
}
public void buttonOnClick(View v){
//here,we are making a folder named picFolder to store pics taken by the camera using this application
final String dir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES) + "/picFolder/";
File newdir = new File(dir);
newdir.mkdirs();
Button capture = (Button) findViewById(R.id.button);
capture.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// here,counter will be incremented each time,and the picture taken by camera will be stored as 1.jpg,2.jpg and likewise.
count++;
String file = dir+"1.jpg";
File newfile = new File(file);
try {
newfile.createNewFile();
} catch (IOException e) {}
Uri outputFileUri = Uri.fromFile(newfile);
Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri);
startActivityForResult(cameraIntent, TAKE_PHOTO_CODE);
}
});
}
@TargetApi(11)
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == TAKE_PHOTO_CODE && resultCode == RESULT_OK) {
Log.d("CameraDemo", "Pic saved");
// Afou travhksei thn kainouria eikona provaletai sto imageview
Bitmap bmp = BitmapFactory.decodeFile(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES) + "/picFolder/1.jpg");
ImageView image = (ImageView) findViewById(R.id.imageView2);
image.setImageBitmap(bmp);
//mage.setRotation(270);
}
}
@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_my, 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);
}
}
我也发送服务器代码 公共(public)类 ImageReceiver {
public static void main(String[] args) {
try{
ServerSocket socket = new ServerSocket(6789);
System.out.println("Server On-----Waiting for Image");
while(true)
{
/////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Receive Image From CLient //
/////////////////////////////////////////////////////////////////////////////////////////////////////////////
Socket clientSocket = socket.accept();
File filePath = new File("C:\\ImagesReceived\\image.jpg");
filePath.delete();
DataInputStream dis = new DataInputStream(clientSocket.getInputStream());
FileOutputStream fout = new FileOutputStream("C:\\ImagesReceived\\image.jpg");
try{
int i;
while ( (i = dis.read()) > -1) {
fout.write(i);
}
System.out.println("Image received");
}catch(Exception FromClient ){
System.out.println("Image wasn't received");
}
fout.flush();
fout.close();
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Open Matlab Connection in order to Make the Face Detection ////
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
try{
MatlabProxyFactoryOptions options =
new MatlabProxyFactoryOptions.Builder()
.setUsePreviouslyControlledSession(true)
.build();
MatlabProxyFactory factory = new MatlabProxyFactory(options);
MatlabProxy proxy = factory.getProxy();
proxy.eval("addpath('C:\\Users\\Theojim')");
proxy.eval("run('firsttry.m')");
proxy.eval("rmpath('C:\\Users\\Theojim')");
System.out.println("Matlab Done");
// close connection
proxy.disconnect();
}
catch(Exception Matlab){
System.out.println("Matlab Error");
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Epistrofh Shmeiwn Proswpou apo text file ////
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
try{
String sCurrentLine;
BufferedReader br = null;
br = new BufferedReader(new FileReader("C:\\ImagesReceived\\facepoints.txt"));
String points="";
while ((sCurrentLine = br.readLine()) != null) {
points+=sCurrentLine;
}
System.out.println(points);
DataOutputStream outToClient = new DataOutputStream(clientSocket.getOutputStream());
outToClient.writeBytes(points);
System.out.println("points sent to android");
}catch(Exception Points){
System.out.println("Points Failed to be sent to client");
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Epistrofh Eikonas Face Detected ////
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//try{
// int j;
// FileInputStream file = new FileInputStream("C:\\ImagesReceived\\face.jpg");
//DataOutputStream stream = new DataOutputStream(clientSocket.getOutputStream());
// while ((j = file.read()) > -1) {
// System.out.println("While starts"+j);
// stream.write(j);
//stream.flush();
//System.out.println("While endss");
//}
//System.out.println("While exits");
//file.close();
//stream.close();
dis.close();
//}
//catch(Exception ImageFace){
//System.out.println("Face.jpeg Failed to be sent to client");
//}
clientSocket.close();
}
}catch(Exception IO){
System.out.println("ERROR");
}
}
}
最后,我将发送 logat 文件的最后一部分,以查看到底发生了什么。请帮忙!!!!
05-26 22:05:59.715 16000-16491/com.example.theojim.myapplication D/myTag﹕ Test message11
05-26 22:05:59.716 16000-16491/com.example.theojim.myapplication D/myTag:无法从服务器读取
最佳答案
服务器读取直到流结束。客户端需要关闭套接字才能传递流结束。
关于Java Socket 服务器客户端代码卡住,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30121874/
我尝试理解[c代码 -> 汇编]代码 void node::Check( data & _data1, vector& _data2) { -> push ebp -> mov ebp,esp ->
我需要在当前表单(代码)的上下文中运行文本文件中的代码。其中一项要求是让代码创建新控件并将其添加到当前窗体。 例如,在Form1.cs中: using System.Windows.Forms; ..
我有此 C++ 代码并将其转换为 C# (.net Framework 4) 代码。有没有人给我一些关于 malloc、free 和 sprintf 方法的提示? int monate = ee; d
我的网络服务器代码有问题 #include #include #include #include #include #include #include int
给定以下 html 代码,将列表中的第三个元素(即“美丽”一词)以斜体显示的 CSS 代码是什么?当然,我可以给这个元素一个 id 或一个 class,但 html 代码必须保持不变。谢谢
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。 关闭 7 年前。
我试图制作一个宏来避免重复代码和注释。 我试过这个: #define GrowOnPage(any Page, any Component) Component.Width := Page.Surfa
我正在尝试将我的旧 C++ 代码“翻译”成头条新闻所暗示的 C# 代码。问题是我是 C# 中的新手,并不是所有的东西都像 C++ 中那样。在 C++ 中这些解决方案运行良好,但在 C# 中只是不能。我
在 Windows 10 上工作,R 语言的格式化程序似乎没有在 Visual Studio Code 中完成它的工作。我试过R support for Visual Studio Code和 R-T
我正在处理一些报告(计数),我必须获取不同参数的计数。非常简单但乏味。 一个参数的示例查询: qCountsEmployee = ( "select count(*) from %s wher
最近几天我尝试从 d00m 调试网络错误。我开始用尽想法/线索,我希望其他 SO 用户拥有可能有用的宝贵经验。我希望能够提供所有相关信息,但我个人无法控制服务器环境。 整个事情始于用户注意到我们应用程
我有一个 app.js 文件,其中包含如下 dojo amd 模式代码: require(["dojo/dom", ..], function(dom){ dom.byId('someId').i
我对“-gencode”语句中的“code=sm_X”选项有点困惑。 一个例子:NVCC 编译器选项有什么作用 -gencode arch=compute_13,code=sm_13 嵌入库中? 只有
我为我的表格使用 X-editable 框架。 但是我有一些问题。 $(document).ready(function() { $('.access').editable({
我一直在通过本教程学习 flask/python http://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-i-hello-wo
我想将 Vim 和 EMACS 用于 CNC、G 代码和 M 代码。 Vim 或 EMACS 是否有任何语法或模式来处理这种类型的代码? 最佳答案 一些快速搜索使我找到了 this vim 和 thi
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 想改进这个问题?更新问题,使其成为 on-topic对于堆栈溢出。 7年前关闭。 Improve this
这个问题在这里已经有了答案: Enabling markdown highlighting in Vim (5 个回答) 6年前关闭。 当我在 Vim 中编辑包含 Markdown 代码的 READM
我正在 Swift3 iOS 中开发视频应用程序。基本上我必须将视频 Assets 和音频与淡入淡出效果合并为一个并将其保存到 iPhone 画廊。为此,我使用以下方法: private func d
pipeline { agent any stages { stage('Build') { steps { e
我是一名优秀的程序员,十分优秀!