C# 有一个BitConverter
c 方法ToInt32
。
Kotline 中是否有类似的模拟?
我正在尝试学习 Kotlin,假设有一个类构造函数:
// Конструктор
public class TESTCLSS constructor()
{
for (i in 1..20)
{
print(i);
}
}
我立即得到一个错误,循环:
Function declaration must have a name
和我
Unresolved reference: i
如何处理?
有两个项目,一个是 Kotlin 的主要项目,一个是 Java 的第二个项目。第一个项目被设置为主要项目,第二个项目存在于项目中,尽管有自己的 mainActivity 等等(他们只是将第二个项目上传到第一个项目而没有任何更改)。结果,Android Studio 不再了解项目的配置,无法构建,漂亮地分解成文件夹。该怎么办?没有什么取决于设置 - 回滚到默认值并更新到最大值。表示需要添加一个配置,但是已经在项目和同事的规范中开启
有一个包含数据库的文件 - 它是由 c# 代码创建的,但有一个问题是它带有密码。这是创建文件的程序作者的连接字符串:
string constr = String.Format("Data Source = {0};FailIfMissing = false;Read Only = false;Password = {1}", path, pass);
connect = new SQLiteConnection(constr);
使用任一:
System.Data.SQLite.dll и SQLite.Interop.dll
如何在java中打开Android?并同时关闭)
ps
尝试使用 Chiper 但没有奏效:
import net.sqlcipher.database.SQLiteDatabase;
import net.sqlcipher.database.SQLiteOpenHelper;
import android.content.Context;
public class SqlChiperAdapter extends SQLiteOpenHelper {
public SQLiteDatabase sqLiteDatabase;
public SqlChiperAdapter(Context ct, String patch, String name, String Secret)
{
super(ct,"Dgfgg",null,1);
SQLiteDatabase.loadLibs(ct);
sqLiteDatabase= SQLiteDatabase.openOrCreateDatabase(patch+name,Secret,null);
}
@Override
public void onCreate(SQLiteDatabase db) {
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
}
我们得到了什么:
net.sqlcipher.database.SQLiteException: file is not a database: , while compiling: select count(*) from sqlite_master;
碰巧服务器接收到文件并通过一个端口将其发送给我......
在第一种情况下,根据服务器的响应,传输成功:
SocketAddress SocketAdres = new InetSocketAddress(Server, FilePort);
socketChannel = SocketChannel.open();
socketChannel.connect(SocketAdres);
FileChannel fileChannel = new RandomAccessFile(file, "r").getChannel();
fileChannel.transferTo(0, fileChannel.size(), socketChannel);
socketChannel.close();
fileChannel.close();
再进一步,我们开始遇到问题:
int Size = Integer.parseInt(Answer);
File file2 = new File("/storage/emulated/0/download/" + "Dowland.db");
file2.createNewFile();
SocketAddress DataImport = new InetSocketAddress(Server, FilePort);
socketChannel = SocketChannel.open(DataImport);
socketChannel.connect(DataImport);
RandomAccessFile ra= new RandomAccessFile(file2,"rw");
FileChannel fileChannel = ra.getChannel();
fileChannel.transferFrom(socketChannel, 0, Size);
socketChannel.close();
fileChannel.close();
如果我这样做,我会得到:
Caused by: java.nio.channels.AlreadyConnectedException
,尽管通道关闭了...
在这一行中:socketChannel.connect(DataImport);
如果我们尝试通过一个相同的 socketChannel 来做所有事情,那么什么都不会发生......
考虑到以前问题的经验——我们有权访问互联网和写入、读取外部存储。
请帮忙)
要与服务器通信,您需要向它发送几个 xml - 这是在文档中编写的,这里出现了困难,因为没有创建第二个 xml。
试过:
创建了具有不同名称的 XmlSerializer 和 StringWriter 的新实例而没有错误,但始终为空,所以我不在那里写。
执行此操作时,我收到警告:
变量
xmlcreate1
初始化器Xml.newSerializer()
是多余的...
检查信息:此检查指出了变量值在赋值后从未使用过的情况,即: - 变量在赋值后永远不会被读取或 - 在赋值之前,该值总是被另一个赋值覆盖下一个变量读取或 - 变量初始化器是多余的(出于上述两个原因之一)
设置 null 并向旧类发出新的 Xml.newSerializer() - 我得到与第一段相同的效果(空 xml)
向旧类发出一个新的 Xml.newSerializer() - 我得到与第一段相同的效果(空 xml)
只是 StartDocument - 没有反应,只是不会覆盖旧的。
ps 服务器完美响应第一个xml并发送正确的答案,我们成功解析
这是第一个 xml 的内容:
XmlSerializer xmlcreate = Xml.newSerializer();
StringWriter writer = new StringWriter();
xmlcreate.setOutput(writer);
xmlcreate.startDocument("UTF-8", true);
xmlcreate.setFeature("http://xmlpull.org/v1/doc/features.html#indent-output", true);
xmlcreate.startTag("", "Command");
xmlcreate.startTag("","Type");
xmlcreate.text("SERVER_CONNECTION");
xmlcreate.endTag("","Type");
xmlcreate.endTag("", "Command");
xmlcreate.endDocument();
//Отправляем на сервер xml
DataOutputStream serverOutput = new DataOutputStream(s.getOutputStream());
serverOutput.writeUTF(writer.toString());
serverOutput.flush();
这是第二个 xml 的内容:
//xmlcreate=null;
//xmlcreate = Xml.newSerializer();
//writer = new StringWriter();
//xmlcreate.setOutput(writer);
xmlcreate.startDocument("UTF-8", true);
xmlcreate.setFeature("http://xmlpull.org/v1/doc/features.html#indent-output", true);
//Open Tag <Command>
xmlcreate.startTag("", "Command");
xmlcreate.startTag("","Type");
xmlcreate.text("SERVER_GET_SYSTEMTIME");
xmlcreate.endTag("","Type");
xmlcreate.endTag("", "Command");
serverOutput.writeUTF(writer.toString());
serverOutput.flush();
没什么特别的)
我通过套接字连接到旧服务器并向其发送一个 xml 文件。服务器必须发送它的 xml(非常小的尺寸),发送这个 xml 是一个障碍。
InetAddress serverAddr = InetAddress.getByName(Server);
Socket s = new Socket(serverAddr, Port);
我这样发送:
XmlSerializer xmlcreate = Xml.newSerializer();
StringWriter writer = new StringWriter();
xmlcreate.setOutput(writer);
//Start Document
xmlcreate.startDocument("UTF-8", true);
xmlcreate.setFeature("http://xmlpull.org/v1/doc/features.html#indent-output", true);
//Open Tag <Command>
xmlcreate.startTag("", "Command");
// Отправка параметра
xmlcreate.startTag("","Type");
xmlcreate.text("SERVER_CONNECTION");
xmlcreate.endTag("","Type");
// Отправка параметра
xmlcreate.startTag("","Timeout");
xmlcreate.text("5");
xmlcreate.endTag("","Timeout");
//__________________________________________
// Параметры
xmlcreate.startTag("","Parameter");
xmlcreate.startTag("","string");
xmlcreate.text("admin");
xmlcreate.endTag("","string");
xmlcreate.startTag("","string");
xmlcreate.text("MobileInventory");
// xmlcreate.text("1");
xmlcreate.endTag("","string");
xmlcreate.startTag("","string");
xmlcreate.text("\\Program Files\\MobileInventory\\config.xml");
xmlcreate.endTag("","string");
xmlcreate.endTag("","Parameter");
//__________________________________________
xmlcreate.startTag("","TermCode");
xmlcreate.text(UUID.randomUUID().toString());
xmlcreate.endTag("","TermCode");
//close Tag <Command>
xmlcreate.endTag("", "Command");
xmlcreate.endDocument();
//XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
//Отправляем на сервер xml
DataOutputStream serverOutput = new
DataOutputStream(s.getOutputStream());
serverOutput.writeChars(writer.toString());
serverOutput.flush();
服务器没有接收到这个 xml。我究竟做错了什么?
我没有使用网络程序,我完全不明白在这种情况下该怎么做。请帮忙
ps服务器是用sockets和c#编写的,不是我的,我没有代码
服务器(不是我的)向我的Android设备发送一个带有db扩展名的文件,如何与它同步SQLITe,即用代码打开它。请告诉我)试过了:
DB_PATH="/storage/sdcard0/";
mDataBase.close();
mDataBase = SQLiteDatabase.openOrCreateDatabase(DB_PATH + Ssss, null);
不怎么样。也许问题正在发生 - 不同的程序显示不同
应用程序构建但崩溃
java.lang.NullPointerException: Attempt to invoke interface method 'void com.example.testdagger1.MaxsControl.AppComponent.inject(com.example.testdagger1.MainActivity)' on a null object reference
应用命令:
@Component(modules ={AppMobile.class, ButtonControl.class})
@Singleton
public interface AppComponent {
void inject(MainActivity mainActivity);
}
应用程序:
public class App extends Application {
private static AppComponent component;
public static AppComponent getComponent()
{
return component;
}
主要活动:
public class MainActivity extends AppCompatActivity {
@Inject
ButtonControl bt;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
App.getComponent().inject(this);
}
}
ButtonControl(这个类是纯测试):
@Module
public class ButtonControl {
public void ButtonControl(Context Ct)
{
}
}
移动应用:
@Module
public class AppMobile {
private Context appContext;
public AppMobile(Context context)
{
appContext=context;
}
@Provides
Context providesContext()
{
return appContext;
}
@Provides
public ButtonControl provideDownloadfilePresenterImp() {
return new ButtonControl();
}
}
我试图在这篇文章上做点什么,但即使是基本的也没有发生任何事情...... https://habr.com/en/post/279125/
求救!
我在毕业时写:
classpath 'io.reactivex.rxjava2:rxjava:2.2.8'
Androyd studio 连接东西,上传,写入成功。在我尝试应用一个简单的
Observable<String> myObservable = Observable.just("Hello, world!");
在激活。这就是问题开始的地方。
Androyd studio 正在尝试通过 Alt + Enter 组合连接一些左侧:
import android.database.Observable;
然后他发誓……我不明白如何处理这个。
任何尝试从专门用于此库的示例中手动编写导入(与该代码行无关),发誓并写道这不存在。帮助。
与往常一样,没有明确而准确的指示。我正在尝试将滑动菜单附加到一个空项目,但我遇到了一个问题:
error: attribute menu (aka com.example.main_rfid_test:menu) not found.
尽管在带有拉出菜单的项目模板中,一切都完全相同并且可以正常工作。我不明白为什么我没有参数,但模板有:
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:openDrawer="start">
<android.support.design.widget.NavigationView
android:id="@+id/nav_view"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
android:fitsSystemWindows="true"
app:menu="@menu/navigate_menu.xml"
/>
</android.support.v4.widget.DrawerLayout>
navigate_menu 位于菜单目录中。
bild.grad: // 顶级构建文件,您可以在其中添加所有子项目/模块通用的配置选项。
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.3.0'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
google()
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
res图片中,文件就位,什么都看不懂:
Android studio 下的 RFID 阅读器(特别是 CHAINWAY C4050-Q4)存在问题。底线 - 他们有 Sdk,其中有演示。一些演示在 apk 中内置了可以运行的程序。我正在写,最简单的应用程序,只是为了尝试功能:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
try {
mReader = RFIDWithUHF.getInstance();
} catch (Exception ex) {
showAlert(ex.getMessage());
}
}
protected void onClick(View v)
{
mReader.init();
String[] res = null;
res = mReader.readTagFromBuffer();
if (res != null) {
String s = "";
for (int i = 0; i < res.length; i++) {
s += res[i] + " ";
}
showAlert(s);
}
mReader.free();
}
应用程序启动但什么也不做。没有崩溃,LogCat 只是溢出(没有过滤器):
04-29 19:50:59.400 282-2436/? E/AudioPolicyManager: unknown stream type 13
另外,Run 给我添加了这个:
W/linker: libDeviceAPI.so: unused DT entry: type 0x6ffffffe arg 0xe2e4
libDeviceAPI.so: unused DT entry: type 0x6fffffff arg 0x1
罐子是相连的,就像这样。
如果您在演示中尝试他们的课程,那么您怎么能不给他们打电话 - 零反应(UHFReadTagFragment)(通过新的,甚至在课堂上什么都没有,只是将他们的扫描附加到我的按钮上)技术支持没有回答...... SOS!