我对android / java很新。
我在windows CE
上使用C#
使该功能完全正常运行,因此当用户使用C#
扫描TextBox
时,它在cardnumber
中所做的就是将文本放入KD55
条形码阅读器;然后,例如,在TextBox
中拍摄了带有 1.0D55
2.1D55
3.2D55 and so on
文字的3张照片,然后使用以下名称保存照片:
1.0Y61
2.1Y61
3.2Y61 and so on
然后他拿了一个新的Y61,然后它会像这样
btn_take_photo.setOnClickListener(new FloatingActionButton.OnClickListener() {
@Override
public void onClick(View view) {
cameraimage();
}
});
jpegCallback = new Camera.PictureCallback() {
@Override
public void onPictureTaken(byte[] bytes, Camera camera) {
FileOutputStream outputStream = null;
return;
}
String text = cardnumberbox.getText().toString().trim();
for(int i = 0; i < 100; i++)
{
if(text.substring(0,1).equals("K"))
{
text = (i+1) + "." + i + text.substring(1);
}
else
{
text=(i+1) + "." + i + text ;//.substring(0));
}
}
String photofile = text + ".jpg";
String file_name = file_image.getAbsolutePath() + "/" + photofile;
File picfile = new File(file_name);
try {
outputStream = new FileOutputStream(picfile);
outputStream.write(bytes);
outputStream.close();
} catch (FileNotFoundException e) {
} catch (IOException ex) {
} finally {
}
refreshcamera();
refreshgallery(picfile);
private void refreshgallery(File file) {
Intent intent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
intent.setData(Uri.fromFile(file));
sendBroadcast(intent);
}
我希望有人可以帮我解决这个问题或将其翻译成Java / Android
string str1 = this.textBoxCardNumber.Text.Substring(0, 1) == "K" ? this.textBoxCardNumber.Text.Substring(1) : this.textBoxCardNumber.Text;
string str2 = (string) (object) Directory.GetFiles(this.picturesPath, "*" + str1 + ".JPG").Length + (object) str1;
this.takenPictures.Add(this.picturesPath + str2 + ".JPG");
this.Cam.SnapshotFile.Filename = str2;
我是如何在C#
中完成的public static void Main(string[] args)
{
Process.Start("tput", "civis -- invisible");
Console.WriteLine("Hello World!");
Console.Read(); // no cursor
Process.Start("tput", "cnorm -- normal");
Console.Read(); // with cursor
}
答案 0 :(得分:1)
试试这种方式。我假设3张照片(根据你的问题)。所以我在for loop
import java.io.*;
class StackOvr
{
public static void main(String jsk[])
{
String str = "KD55";
for(int i = 0; i < 3; i++)
{
if(str.substring(0,1).equals("K"))
{
System.out.println( (i+1) + "." + i + str.substring(1));
}
else
{
System.out.println( (i+1) + "." + i + str);//.substring(0));
}
}
}
}
这是我自己测试的代码。
输出
1.0D55
2.1D55
3.2D55
这可能对你有所帮助。
答案 1 :(得分:1)
在Sathish的帮助下使用点击计数器解决了这个问题
private int counter = 0;
btn_take_photo.setOnClickListener(new FloatingActionButton.OnClickListener() {
@Override
public void onClick(View view) {
counter++;
count.setText(String.valueOf(counter));
cameraimage();
}
});
@Override
public void onPictureTaken(byte[] bytes, Camera camera) {
String Counting = count.getText().toString().trim();
String text = cardnumberbox.getText().toString().trim();
{
if(text.substring(0,1).startsWith("K"))
{
text = Counting+text.substring(1);
}
else
{
text= Counting+text ;//.substring(0));
}
}
String photofile =text + ".jpg";