我的要求是在不使用任何基于云的服务的情况下从Android设备打印文件.
我已经能够使用"Raw"打印协议实现它,即只需将文件发送到端口9100的打印机IP地址即可.以下是代码段:
client = new Socket(ip,port); //Port is 9100
byte[] mybytearray = new byte[(int) file.length()]; //create a byte array to file
fileInputStream = new FileInputStream(file);
bufferedInputStream = new BufferedInputStream(fileInputStream);
bufferedInputStream.read(mybytearray, 0, mybytearray.length); //read the file
outputStream = client.getOutputStream();
outputStream.write(mybytearray, 0, mybytearray.length); //write file to the output stream byte by byte
outputStream.flush();
bufferedInputStream.close();
outputStream.close();
Run Code Online (Sandbox Code Playgroud)
"原始"打印协议的问题在于无法从打印机返回状态.
因此,我最近阅读了有关IPP和LDR的信息,我们可以使用它从打印机获取状态.
我试图找到一种方法来使用android实现它们但没有成功.我已经完成了这个答案,但没有找到我的解决方案.
如果有人可以指导我如何在android中实现IPP或LDR,那将会非常有帮助.
提前致谢!
我已经在android中使用slf4j实现了用于创建日志文件的代码,但没有成功。
首先,我按照以下添加了 gradle 依赖项:-
compile 'org.slf4j:slf4j-android:1.6.1-RC1'
compile 'com.github.tony19:logback-android-core:1.0.7-1'
Run Code Online (Sandbox Code Playgroud)
然后按照指南,我在资产文件夹中创建了一个配置文件,命名logback.xml如下:-
<configuration>
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
<file>/sdcard/testFile.log</file>
<append>true</append>
<encoder>
<pattern>%-4relative [%thread] %-5level %logger{35} - %msg%n</pattern>
</encoder>
</appender>
<root level="DEBUG">
<appender-ref ref="FILE" />
</root>
Run Code Online (Sandbox Code Playgroud)
最后,我在我的应用程序中添加了一个日志,如下所示:-
Logger logger = LoggerFactory.getLogger(HomeActivity.class);
logger.debug("Testing slf4j", "Hello world");
Run Code Online (Sandbox Code Playgroud)
现在我运行了这个程序并期待 SDcard 中有一个日志文件,但不幸的是没有看到这样的文件。如果我遗漏了什么,请告诉我。如果有人在android应用程序中做到了,请帮助我。
谢谢。
我想用 6 个 TextInput 创建一个 OTP 输入屏幕。当我键入前一个 TextInput 的值时,我希望 TextInput 自动聚焦到下一个。
但是我遇到了一个异常,TypeError: null is not an object(evaluating 'textInputToFocus.current.focus')所以基本上我的变量 textInputToFocus 在下面的代码中为空,我不知道为什么?
import React, { Component } from 'react';
import {
StyleSheet,
View,
Text,
} from 'react-native';
import { PasscodeTextInput } from '../Common/PasscodeTextInput';
import Button from 'react-native-button';
type Props = {}
export default class EnterOTP extends React.Component {
constructor(props) {
super(props)
this.state = {
passcode1: "",
passcode2: "",
passcode3: "",
passcode4: "",
passcode5: "",
passcode6: "", …Run Code Online (Sandbox Code Playgroud) 我使用 okhttp 从我的 Android 代码发送拉丁字符作为 HTTP 标头
\nBuilder builder=new Builder();\nbuilder.url(myURL);\nbuilder.addHeader("Original-Filename", "t\xc3\xaate-\xc3\xa0-t\xc3\xaate.pdf");\nRun Code Online (Sandbox Code Playgroud)\n但是,我越来越IllegalArgumentException: Unexpected char 0xea1
我可以从 Postman 或使用HttpsURLConnection. 此外,根据HTTP1.1 文档,该字符是一种例外的标头格式,该字符是例外的标头格式。
那么,为什么okHttp不支持以下字符呢?另外,是否有任何解决方法,无需通过执行 Base64 编码和解码来更改服务器端的代码。
\n我使用的是 okttp 版本 4.4.0。另外,我已经浏览过https://github.com/square/okhttp/issues/2016另外,在有人重复同样的事情之前,
\n我有一个字节数组,我需要遍历它并根据字节值做一些事情。下面是我的代码。
for (byte b:byteArray)
{
if(b>=(byte)0x00 && b<=(byte)0x1F)
{
//do something
}
else if(b>=(byte)0x20 && b <=(byte)0xFE)
{
//do something
}
else if(b ==(byte)0xFF)
{
//do something
}
}
Run Code Online (Sandbox Code Playgroud)
我的问题是字节比较没有按照我的预期发生。
假设我的字节数组中的值是{31, -117, 8, 0 , -1},我的代码无法检测其各自范围内的所有负字节值。对于前。-117 应该在0x20和 之间0xFE,但它不会达到任何范围。
我已经按照这个答案来比较字节。我无法弄清楚代码中有什么问题。
提前致谢!
我想在用户点击时获取日期选择器对话框的当前日期,但它不起作用.我的默认日期未更改为当前日期.我的代码中我做错了什么?
Calendar mcurrentDate = Calendar.getInstance();
int day = mcurrentDate.get(Calendar.DAY_OF_MONTH);
int month = mcurrentDate.get(Calendar.MONTH);
int year = mcurrentDate.get(Calendar.YEAR);
DatePickerDialog dpd;
dpd = new DatePickerDialog(getActivity(), 0,
new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year,
int month, int day) {
// TODO Auto-generated method stub
dateTxtVu.setText("Date: " + day + "-" + month
+ "-" + year);
dateStr = day + "-" + month + "-" + year;
}
}, day, month, year);
dpd.show();
Run Code Online (Sandbox Code Playgroud) android ×4
java ×2
byte ×1
hex ×1
http ×1
http-headers ×1
ipp-protocol ×1
javascript ×1
logback ×1
logging ×1
okhttp ×1
printing ×1
react-native ×1
reactjs ×1
slf4j ×1