Android 存储问题,小白求问

以前没有开发过Android,主要是做一些windows窗体,web项目。
所以在接触Android的时候,我就疑惑了。在我拖拽完登录UI后,准备写代码了。我的想法是,创建一个数mysql据库,里面有一个User表,表里面有账号、密码,然后我在登录的时候验证。 我在网上找了点demo,但是在很多demo中并没有连接数据库的字符,也没有相应代码,万般辛苦的找到一个有数据库的连接的时候,还没下载,就看到一堆人评论说,为什么要这么做?我查阅了一些资料,了解到Android的存储方式,但是,并没有人说为什么。比如,为什么Android要用这些存储方式,为什么不直接连接数据库,这样做有什么不好么?

5个回答

android上也有本地的小数据库,比如sqlite,为什么不用mysql oracle,因为这些数据库比较大,需要在高性能的服务器上运行,在手机上没办法运行,或者即便可以运行,也耗费电力,浪费cpu。
这些数据库的很多功能,对于本地程序来说没有什么意义,比如说多用户、存储过程、作业,本地存储一点数据根本用不到。所以不用。
还有一个,就是为什么不远程连mysql oracle,而是需要本地数据库,这个道理很简单,一个是可以节约流量,一个是可以提高程序的响应,因为手机不是实时都联网,并且都高速联网的,一些数据,比如用户偏好设置、缓存等存储在本地,无论是否联网,程序都可以工作。可以给用户很好的体验。
除了使用sqlite这种本地数据库,还可以用文本文件、xml文件等保存数据。

qq_27830847
兜兜351654 回复CSDN 是社会人 攒够C币 跑了商城: 万分感谢!!!
3 个月之前 回复
caozhy
贵阳老马马善福专门编写代码的老马就是我! 回复兜兜351654: 将输入的用户名密码和数据库里的用户名密码比较,如果一致就合法,否则就非法。另外,如果是有服务器端的程序,要先和服务器的比较,如果离线,再和本地数据库的比较。
3 个月之前 回复
qq_27830847
兜兜351654 能不能问个问题,如果我用sqlite,假设做一个登录,我怎么验证这个账户的合法性?我怎么确认这个用户注册过了,是我数据库里面的用户。
3 个月之前 回复

首先,你要明白在Android端链接远程数据库,有以下几个问题:1,网络问题,Android端不可能一直联网。2,Android端链接数据及其不安全,普通的开发人员通过抓包完全可以获取你的数据库链接。3,Android的数据如果从数据库中读取数据和从接口获取数据有很大的性能差异。4,Android如果集成数据库访问链接,势必会增大安装包的大小,远不如json的轻量级数据来的好。5,Android端如果链接数据库,那么对数据库的访问量势必增大,远比不上一个后台来访问。

如果你想用mysql来存储数据那么你得在后端将数据从mysql数据库中取出来转化成JSON或者XML这种数据格式。
然后从你Android编写得项目中用网络请求得到后台转化好的JSON或XML数据,之后之间在Android代码解析这些格式的数据就好了。

一般安卓程序都是跑在移动端的,而且网络也不稳定,不可能一直和mysql保持连接,所以一般存储一些本地数据的话都是使用sqlite,文件等等一些本地的存储方式,如果需求需要获取远程数据库的数据的话,那就有很多种方式了,比较典型的就是搭建一组web服务器,通过调用api的方式进行数据传递

1.如果你需要一套完整并且支持登录注册那么肯定是服务端+app端了,用post请求服务器得到数据
2.如果你只是本地玩玩sqlite完全可以胜任,自行搜索android sqlite
3.如果你本地玩玩想做成1的那种形式,那么你想多了

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
小白多线程问题求问
我现在有这么一个需求:rn同一个实例的两个方法(A和B)。现在要求:在多线程环境下,1:A和B两个方法是互斥的;2:A方法可以同时被执行多次。rnrnrn对于1,想到给A B加synchronized关键字,可以使得多线程下A和B的访问互斥,但是A也变成了同一时间只能有一个线程实现对它的调用。。。小白求问有什么好的解决方法么??
小白求问?
[code=csharp][/code][img=https://img-bbs.csdn.net/upload/201711/20/1511168181_867447.png][/img] 小白 求教, 我明明是照着书上的例子抄的,为什么就是运行不起啊? 总是说 转换格式出错,求大佬解答
求问~~小白
#creating matrices for sklearn: rn rnx_train = np.array(all_data[:train.shape[0]]) rnx_test = np.array(all_data[train.shape[0]:]) rnrn为什么这么写啊 x_test 没有值?
刚学Android,问一个小白问题
在一个拨打电话的小程序里,主要代码如下:rnpublic class MainActivity extends ActionBarActivity rnrn private EditText et_number;rn @Overridern protected void onCreate(Bundle savedInstanceState) rn super.onCreate(savedInstanceState);rn setContentView(R.layout.activity_main);rn rn Button bt_dail=(Button) this.findViewById(R.id.bt_dail);rn rn et_number=(EditText) this.findViewById(R.id.et_number);rn rn bt_dail.setOnClickListener(new MyListener());rn rn rn rn private class MyListener implements OnClickListenerrn rn rn public void onClick(View v)rn rn rn String number=et_number.getText().toString().trim();rn rn if(TextUtils.isEmpty(number))rn rn Toast.makeText(MainActivity.this,"号码不能为空",0).show();rn return;rn rn rn Intent intent=new Intent();rn intent.setAction(Intent.ACTION_CALL);rn intent.setData(Uri.parse("tel:"+number));rn rn startActivity(intent);rn rn rn我的问题是:打开应用程序后,首先应该执行的是onCreate()这个方法,输入号码之前private变量et_number应该为空,然后当输入号码的时候,这个et_number是怎么触发的随着你的输入而改变的呢?难道说每次改变输入,这句et_number=(EditText) this.findViewById(R.id.et_number)会被反复执行吗?不知道各位看懂我意思没,求大牛从面向过程的角度解释下哈!
小白求问,这是什么问题
[img=https://img-bbs.csdn.net/upload/201904/24/1556091322_338103.png][/img]rnrn我一直用C#写窗体程序,今天老板甩过来一个VB的代码,叫我改。装了一个Visual Basic 6.0精简版 打开这项目跑不起来啊[face]monkey:11.gif[/face]
小白求问函数类型
在Python中定义函数……但是请注意,参数定义的顺序必须是:必选参数、默认参数、可变参数、命名关键字参数和关键字参数。rnrndef f2(a, b, c=0, *, d, **kw):rn print('a =', a, 'b =', b, 'c =', c, 'd =', d, 'kw =', kw)rnrnrn在f2中,可变参数(f2视为空)* 与命名关键字参数 **kw之间多了一个d,请问这个怎么解释呢
刚开始学的小白求问
[img=https://img-bbs.csdn.net/upload/201803/31/1522483862_324857.png][/img]rn为什么会出现对象名无效, 左上角当前数据库是对的
新手小白求问typedef struct问题
编译报错rn[img=https://img-bbs.csdn.net/upload/201804/02/1522655145_636829.jpg][/img]rnD:\Program Files (x86)\Microsoft Visual Studio\MyProjects\OTDR\main.cpp(95) : error C2819: type 'TreeNode' does not have an overloaded member 'operator ->'rn D:\Program Files (x86)\Microsoft Visual Studio\MyProjects\OTDR\main.cpp(25) : see declaration of 'TreeNode'rnD:\Program Files (x86)\Microsoft Visual Studio\MyProjects\OTDR\main.cpp(95) : error C2227: left of '->vex' must point to class/struct/unionrnD:\Program Files (x86)\Microsoft Visual Studio\MyProjects\OTDR\main.cpp(96) : error C2819: type 'TreeNode' does not have an overloaded member 'operator ->'rn D:\Program Files (x86)\Microsoft Visual Studio\MyProjects\OTDR\main.cpp(25) : see declaration of 'TreeNode'rnD:\Program Files (x86)\Microsoft Visual Studio\MyProjects\OTDR\main.cpp(96) : error C2227: left of '->father_vex' must point to class/struct/unionrnD:\Program Files (x86)\Microsoft Visual Studio\MyProjects\OTDR\main.cpp(97) : error C2819: type 'TreeNode' does not have an overloaded member 'operator ->'rnrn以下是代码rn#include rnrn#include rnrn#includernusing namespace std;rnrntypedef struct Graphrnrnrn int numvex;rn rnrn int vexs[100]; //顶点表rnrn int arc_d[100][100]; //邻接矩阵,可看作边rnrn int arc_k[100][100];rnrn int numVertexes, numEdges; //图中当前的顶点数和边数rnrng;rnrntypedef struct TreeNode //展开时用度节点模型rnrn int vex;rn int father_vex;rn int km_rest;rnrnnode;rnrnvoid CreateGraph(Graph *g)rnrnrn int i,j;rn int num=0;rn FILE *fp1,*fp2;rnrn g->numvex=5;rnrn if(NULL==(fp1=fopen("GRAPH_d.txt","r")))rn rn printf("can not find GRAPH_d.txt\n");rn exit(1);rn rnrn if(NULL==(fp2=fopen("GRAPH_k.txt","r")))rn rn printf("can not find GRAPH_k.txt\n");rn exit(1);rn rnrn for(i=0;inumvex;i++)rn rn g->vexs[i]=i;rn for(j=0;jnumvex;j++)rn rn fscanf(fp1,"%d",&(g->arc_d[i][j]));rn fscanf(fp2,"%d",&(g->arc_k[i][j]));rn rn rn//打印出来验证一下rn for(i=0;inumvex;i++)rn rn for(j=0;jnumvex;j++)rn rn printf("%d ", g->arc_d[i][j]);rn rn printf("\n");rn rnrn printf("\n");rnrn for(i=0;inumvex;i++)rn rn for(j=0;jnumvex;j++)rn rn printf("%d ", g->arc_k[i][j]);rn rn printf("\n");rn rnrn//打印完毕rn return;rnrn//////////////第一轮////////////////////rnvoid RoundBegin(int max_i,Graph *g,int *OTDR_vexs)rnrn int MaxNum_OTDR=100; //后期可以限制OTDR的数量,先暂时不限制rn int OTDR_Pra=150; //OTDR的最远可测公里数参数rn TreeNode nodetemp; rnrn queue q; rnrn nodetemp->vex=max_i;rn nodetemp->father_vex=NULL;rn nodetemp->km_rest=150;rnrnrnrnrnrnrnrnrnrnrnrnrnrn return;rnrn//////////////找出最佳度分布点OTDR_vexs/////////////////////rnvoid BestSolution(Graph *g,int* OTDR_vexs)rnrn int i,j;rn int max_i=0;rn int degree[100];rnrn //计算每个节点的度和公里度rn for(i=0;inumvex;i++)rn rn degree[i]=0;rn for(j=0;jnumvex;j++)rn rn degree[i]=degree[i]+(g->arc_d[i][j])*(g->arc_k[i][j]);rn rn rn rn //找出度最大的节点rn max_i=0;rn for(i=0;inumvex;i++)rn rn if(degree[i]>degree[max_i]) rn max_i=i;rn rn OTDR_vexs[0]=max_i;rn rn //开始迭代rn RoundBegin(max_i,g,OTDR_vexs);rnrnrnrn return;rnrnrn///////////////////////////////////rnint main()rnrn Graph g;rn int OTDR_vexs[100];rnrn //邻接矩阵创建图rn CreateGraph(&g);rnrn BestSolution(&g, OTDR_vexs);rnrn return 0;rnrn
小白求问基础问题 select into
[img=https://img-bbs.csdn.net/upload/201802/11/1518280603_151070.png][/img]rn为什么老是报错误rn [img=https://img-bbs.csdn.net/upload/201802/11/1518280690_504173.png][/img]rn简单的看不出错误。。。[img=https://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/001/face/35.gif][/img]
小白求问 static赋值的问题
[img=https://img-bbs.csdn.net/upload/201612/04/1480860816_493557.png][/img]rnrn这是这什么情况,赋值应该没错啊
小白求问一个WEBservice问题
[color=#FF0000]HTTP://127.0.0.1:8080/SomeMethoud.action?data=data:'HelloWorld'[/color]rnrn请问上面这个请求,它的对应的服务端用的是什么东西?rn我的疑点在 .action 上面,这是什么rnASMX能做么?rnrn
小白求问java iterator问题
public class Dognn public static void main(String args[])n n List lists=new ArrayList();n lists.add("a");n lists.add("b");n lists.add("c");n lists.add("d");n lists.add("e");n lists.add("f");n lists.add("g");n lists.add("h");n Iterator iter=lists.iterator(); n while(iter.hasNext())n n if("c".equals(iter.next()))n n iter.remove();n n elsen n System.out.println(iter.next());n n n n n 求问这个程序为什么不对啊,但是在while循环里加一行 String str=iter.next()就对了?
小白求问file_operations结构体
初学驱动,今天按linux设备驱动程序里面的scull的例子写了一遍,编译之后报错unknown field ‘ioctl’ specified in initializer。file_operations结构体初始化代码:rnstruct file_operations scull_fops = rn .owner = THIS_MODULE,rn .llseek = scull_llseek,rn .read = scull_read,rn .write = scull_write,rn .ioctl = scull_ioctl,rn .open = scull_open,rn .release = scull_release,rn;rn百度了下file_operations,发现确实有ioctl。为什么报错呢
问几个小白问题,求指点下,迷糊了
[code=JScript]rnfunction A()rnthis.a="a";rnthis.b="b";rnthis.c="c";rnrn[/code]rn[code=JScript]rnvar A=rn a:"a",rn b:"b",rn c:"c",rnrnrn[/code]rn这两种初始化的方法有什么不一样,(除了后期的调用一个不要初始化一个要初始化的)
小白求问,eclipse配置tomcat问题
我按照网上的教程,一步一步创建了一个java web工程,在eclipse中配置了tomcat,但是打开在网页中打开jsp时,出现404not found,请问是因为tomcat的server.xml的路径配置问题吗?打开eclipse的web工程的jsp的url应该是localhost:8080/项目名/*.jsp吗?为啥会出错呢?求解答啊,刚开始学习~~~~谢啦~~~
小白求问有关泛型的问题~
一句话概括:泛型能不能存放到字典中去?rnrn例如:rn[code=csharp]interface Maprnint xget;rnint yget;rn[/code]rnrnDictionary> m_dic;//实际上编译不过的[img=https://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/003/monkey/33.gif][/img]rnrn除非我这样写:rn[code=csharp]rninterface Map:EmptyInterfacernrn[/code]rn这样Dictionary m_dic;才能过编译。。rnrn是不是我这孤陋寡闻了……有没有更加美丽的操作能把Map放到Dictionary中去??[img=https://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/003/monkey/2.gif][/img]
小白求问关于加载静态库的问题
在ubuntu系统下, rn使用qtCreator加载静态库.a文件时,出现这种情况应如何解决, rn[img=https://img-bbs.csdn.net/upload/201501/18/1421562190_973491.png][/img]rn
小白求问C#的文件操作问题
如何通过C#,在当前已经打开文件的目录基础上,按下一个按钮,可以实现打开当前文件的下一个文件的操作?比如当前打开显示的文件是123.png,在123.png的后面还有456.png,如果通过按下一个button,从而打开456.png?
小白求问c++中函数调用的问题
在一个函数A中调用另外一个函数B,被调用的函数B想要使用A中已经定义变量的值,除了声明全局和作为B的形参还有其他方法吗?
小白求问AndroidStudio新建项目报错的问题!
新建了一个Android项目,然后新建了一个虚拟机。虚拟机是可以正常启动的,但是run新建项目的时候就会报如下错:rn[color=#FF0000]Invalid escape sequence at line 1 column 29 path $[0].name[/color]rnrn具体错误如下:rn[color=#FF0000]org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:transformDexArchiveWithExternalLibsDexMergerForDebug'.rn at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:110)rn at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:77)rn at org.gradle.api.internal.tasks.execution.OutputDirectoryCreatingTaskExecuter.execute(OutputDirectoryCreatingTaskExecuter.java:51)rn at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:59)rn at org.gradle.api.internal.tasks.execution.ResolveTaskOutputCachingStateExecuter.execute(ResolveTaskOutputCachingStateExecuter.java:54)rn at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:59)rn at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:101)rn at org.gradle.api.internal.tasks.execution.FinalizeInputFilePropertiesTaskExecuter.execute(FinalizeInputFilePropertiesTaskExecuter.java:44)rn at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:91)rn at org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter.execute(ResolveTaskArtifactStateTaskExecuter.java:62)rn at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:59)rn at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:54)rn at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)rn at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:34)rn at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.run(EventFiringTaskExecuter.java:51)rn at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:300)rn at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:292)rn at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:174)rn at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90)rn at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31)rn at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:46)rn at org.gradle.execution.taskgraph.LocalTaskInfoExecutor.execute(LocalTaskInfoExecutor.java:42)rn at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareWorkItemExecutor.execute(DefaultTaskExecutionGraph.java:277)rn at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareWorkItemExecutor.execute(DefaultTaskExecutionGraph.java:262)rn at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$ExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:135)rn at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$ExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:130)rn at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$ExecutorWorker.execute(DefaultTaskPlanExecutor.java:200)rn at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$ExecutorWorker.executeWithWork(DefaultTaskPlanExecutor.java:191)rn at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$ExecutorWorker.run(DefaultTaskPlanExecutor.java:130)rn at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)rn at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46)rn at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)rn at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)rn at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)rn at java.lang.Thread.run(Thread.java:745)rnCaused by: com.google.gson.JsonSyntaxException: com.google.gson.stream.MalformedJsonException: Invalid escape sequence at line 1 column 29 path $[0].namern at com.google.gson.Gson.fromJson(Gson.java:902)rn at com.google.gson.Gson.fromJson(Gson.java:852)rn at com.android.build.gradle.internal.pipeline.SubStream.loadSubStreams(SubStream.java:129)rn at com.android.build.gradle.internal.pipeline.IntermediateFolderUtils.(IntermediateFolderUtils.java:66)rn at com.android.build.gradle.internal.pipeline.IntermediateStream.init(IntermediateStream.java:218)rn at com.android.build.gradle.internal.pipeline.IntermediateStream.asNonIncrementalInput(IntermediateStream.java:153)rn at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)rn at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1376)rn at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)rn at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)rn at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)rn at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)rn at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499)rn at com.android.build.gradle.internal.pipeline.TransformTask.computeNonIncTransformInput(TransformTask.java:299)rn at com.android.build.gradle.internal.pipeline.TransformTask.access$500(TransformTask.java:69)rn at com.android.build.gradle.internal.pipeline.TransformTask$1.call(TransformTask.java:213)rn at com.android.build.gradle.internal.pipeline.TransformTask$1.call(TransformTask.java:174)rn at com.android.builder.profile.ThreadRecorder.record(ThreadRecorder.java:102)rn at com.android.build.gradle.internal.pipeline.TransformTask.transform(TransformTask.java:169)rn at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)rn at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)rn at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)rn at java.lang.reflect.Method.invoke(Method.java:498)rn at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:73)rn at org.gradle.api.internal.project.taskfactory.IncrementalTaskAction.doExecute(IncrementalTaskAction.java:50)rn at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:39)rn at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:26)rn at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$1.run(ExecuteActionsTaskExecuter.java:131)rn at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:300)rn at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:292)rn at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:174)rn at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90)rn at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31)rn at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:120)rn at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:99)rn ... 34 morernCaused by: com.google.gson.stream.MalformedJsonException: Invalid escape sequence at line 1 column 29 path $[0].namern at com.google.gson.stream.JsonReader.syntaxError(JsonReader.java:1559)rn at com.google.gson.stream.JsonReader.readEscapeCharacter(JsonReader.java:1550)rn at com.google.gson.stream.JsonReader.nextQuotedValue(JsonReader.java:1004)rn at com.google.gson.stream.JsonReader.nextString(JsonReader.java:815)rn at com.android.build.gradle.internal.pipeline.SubStream$SubStreamAdapter.read(SubStream.java:242)rn at com.android.build.gradle.internal.pipeline.SubStream$SubStreamAdapter.read(SubStream.java:194)rn at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.read(TypeAdapterRuntimeTypeWrapper.java:41)rn at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:82)rn at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:61)rn at com.google.gson.Gson.fromJson(Gson.java:887)rn ... 68 more[/color]rn[img=https://img-bbs.csdn.net/upload/201901/19/1547827885_979609.png][/img]rnrn求大神指点!不胜感激!rnrn
问一个小白问题
烦请大侠用尽量简单的语言指出rnoracle designer,oracle discoverer,oracle jdeveloper,oracle pro*c/c++的各个作用,区别
问一个小白的问题
是关于html表格的问题,表格其中有一列是按钮,怎样能将整个按钮的宽度根表格整列的宽度一样。rn谢谢
问一个小白问题!
POST 和GET 传值区别!rnrn1.Post传输数据时,不需要在URL中显示出来,而Get方法要在URL中显示。rn2.Post传输的数据量大,可以达到2M,而Get方法由于受到URL长度的限制,只能传递大约1024字节.rn3.Post顾名思义,就是为了将数据传送到服务器段,Get就是为了从服务器段取得数据.而Get之所以也能传送数据,只是用来设计告诉服务器,你到底需要什么样的数据.Post的信息作为http请求的内容,而Get是在Http头部传输的。 rnrn还有其他什么区别了??
小白 问一个问题
我现在有一批光猫 光猫的IP都是192.168.1.1 (光猫只通电 不做任何工作 ,等待通过电脑+交换机去访问它做一些命令操作)rn 我电脑链接一个交换机 然后交换机每个端口链接一个光猫 rnrn有没有交换机能设置每个端口不一样的ip 去访问光猫rnrnrn我不知道 这样描述 能看懂不
问一个小白问题。
大家好,一直没接触过Linux下开发,最近在github上下载了一个开源项目,准备读读源代码,发现里面有makefile文件,该怎么把整个项目打开呢?总不能一个个文件的点开来读吧? 求有经验的指点一下!
问一个小白的问题!
DataSet和DataReader的区别在那里呢?rnrn书上说一个读完储存在内存中, 一个只能向前读?rnrn那么如果只读取数据,而不修改数据,他们两个结果不是一样吗?反正向前读,它也要全部读完的!rnrn同时这有带来一个问题, 比如像论坛的帖子,如果我们把一个版面全部把贴子都读出来的话, 实在没什么必要,人们通常查看的也只是前2,3页的几十个主题而已. 比如说像一个百度当红明星的贴吧, 动辄十几万个贴子. 而通常我们都读出来,不是浪费资源吗?rnrn那么请问高手有什么办法能在数据库端分页呢?rnrn rn
问几个小白的问题
1. c#能用的本地数据库有哪里?rn2. 用哪些工具可以创建这些数据库及数据表等,或者用c#怎么做?rn 最好能给个简单明了的例子!rn
急求:小白求问一个小问题。。
[img=http://sz4.photo.store.qq.com/http_imgload.cgi?/rurl4_b=3cdec259078634b4d361c435bb83f9aaca4f16ff04e166bd3af07637f261b17c088414eb0f1b0c97368e64744466881b3325b8ff678dac233811331672eb8d93ab06f8975f94455e3686fa152098b4e16c7d4c5e][/img]rn这样的效果是怎么实现的~~rn在WEB上
小白发帖问一不小白的问题~~~~~~~~~~~~~~~~~~~~~~
比如说我在word文档里面ctrl+c复制一段内容,delphi怎么来用程序获取这段内容
android小白求帮助,onMenuItemSelected
这是我的menu.xmln nn n n n n n n nnn这是我的选择活动.javan@Overriden public boolean onMenuItemSelected(int featureId, MenuItem item) n // TODO Auto-generated method stubn //选择活动n Intent intent;n switch(item.getItemId())n n case R.id.setting:n intent=new Intent(NetworkMonitor.this,Setting.class);n startActivity(intent);n break;n case R.id.app_manage:n intent=new Intent(NetworkMonitor.this,NetList.class);n startActivity(intent);n break;n case R.id.Jpcap:n intent=new Intent(NetworkMonitor.this,CaptureActivity.class);n startActivity(intent);n break;n case R.id.exit:n finish();n break;n n return super.onMenuItemSelected(featureId, item);n n 为什么点击其他两个活动能出来对应的页面,点击第三个就闪退,第三个的代码我简化了,为啥这样页面活动都不出来,n public class CaptureActivity extends Activity n @Override n protected void onCreate(Bundle savedInstanceState) n super.onCreate(savedInstanceState); n setContentView(R.layout.jcp); n setTitle("抓包");n n
android 小白问题
本人刚接触android,有些小白问题。首先是现在的android手机一般机内内存大概是多大,就是跑yaffs2文件系统这块的。还有就是有什么方法可以把android手机里yaffs2的这几个img全部copy出来,包括invalid的信息。多谢各位了
!!!!!!小白问题!!!!!!! 求解释
在一条SQL中 有多个子查询的语句rnrn列如:select***(select***(select**)) 这种类型的rn 不知道我这样说你们听的懂不??rn谁叫我是小白了 不会专业术语
小白问题 求解答
小弟初次接触 oracle 很不懂rnrn遇到的问题很郁闷 rnrn首先:在 sql plus 中用scott 登陆的 可以查询到数据(该数据是我在 sql plus 中insert的 只有一条)rn、rnrn但是我在 pl/sql dev中却查询不到这条数据 rnrnrn我在 pl/sql dev 中Insert 两条数据 同样的在 plus中查询不到 rnrn以上两种情况 在程序中也是查询不到数据的 rnrn请问是什么原因造成的rnrn其次:因为以前都是用SQL 的 没用过 oracle 想请问下各位 有什么适合我这种初学者的书籍 推荐下 准备买本书好好看rnrn看 我用的 11g的数据库rnrn先谢谢各位了
小白的问题,求解答
自定义richtextbox控件:SelectionChanged事件rn[code=csharp] rnTextPointer linePos; Thickness labelM;int Ront;rn//第一种方法:rn private void TextArea_SelectionChanged(object sender, RoutedEventArgs e)rn rn TextPointer Pos;rn if (linePos != null) Pos = linePos;else Pos = Document.ContentStart;rn linePos = CaretPosition.GetLineStartPosition(0);rn int s = linePos.CompareTo(Pos);rn if (s != 0)rn rn Rect rectEnd = linePos.GetCharacterRect(LogicalDirection.Forward);rn Ront = Convert.ToInt32(Math.Ceiling(rectEnd.Bottom / LineH));rn labelM = new Thickness(0, (Ront - 1) * LineH, 0, 0);rn rn rn/* //第二种方法:rn private void TextArea_SelectionChanged(object sender, RoutedEventArgs e)rn rn Rect rectEnd = CaretPosition.GetCharacterRect(LogicalDirection.Forward);rn Ront = Convert.ToInt32(Math.Ceiling(rectEnd.Bottom / LineH));rn labelM = new Thickness(0, (Ront - 1) * LineH, 0, 0);rn */rn[/code]rn问题:1.确定当前行的行数用第一种好,还是 第二种好。rn 2.如果要用label绑定Ront与 labelM,需要用依赖属性的PropertyChangedcallback,还是用INotifiPropertyChangedrn 3.兴趣自学,对不断更改的变量binding 不知该怎么处理,求解。
问一个 比较 小白的问题
如果我手动调用CMENU函数 APPENDMENU 添加 一个菜单项,如何在 VC resouces 中 的IDR_MAINFRAME 更新出来 ? 是不是没有办法更新?rn 我既想用手动创建菜单 又想用模板来创建 手动创建的 在模板中 不显示 如何才能显示出来?rn谢谢
问一个小白问题~~-0-
uintptr_tbeginthreadex(void *secAttr,unsigned stackSize,unsigned (_stdcall *thread)(viod*) ,void *param,unsigned flage,unsigned *threadID); 里面的unsigned (_stdcall *thread)(viod*)<---这种用法是什么意思- -!
问一个很小白的问题。。
如果我项目里面配置了hibernate struts spring 但是我现在想把hibernate删掉 重新配置 一个。rn 要怎么弄?rn 3Q。。
问一个小白级的问题!!!!!!!!!
[size=18px]当MEDLet程序暂停的时候,也就是执行pauseApp()。此时什么样的变量被释放了啊([color=#FF0000]是用过的变量?还是把变量都释放?[/color])。[color=#FF00FF]如果我想保存一个对象,比如Object obj,我在pauseApp()里该怎么写保存命令呢?[/color]rn希望回答详细点,本人小白,可白了呢! ^_^[/size]
问一个很小白的问题
我创建一个服务程序,可是程序会出现在任务管理器的进程里面,有办法隐藏起来嘛?rnrn代码就是ccrun上的原始码rnvoid WINAPI ServiceMain(DWORD dwArgc,LPTSTR *lpszArgv)rnrnssh=RegisterServiceCtrlHandler("W.Z.SERVICE",Handler);rnunsigned long type=SERVICE_WIN32_OWN_PROCESS|SERVICE_INTERACTIVE_PROCESS;rnss.dwServiceType=type;rnss.dwCurrentState=SERVICE_START_PENDING;rnss.dwControlsAccepted=SERVICE_ACCEPT_STOP;//表明Service目前能接受的命令是停止命令。rnss.dwCheckPoint=0;rnss.dwWaitHint=0;rnSetServiceStatus(ssh, &ss);rnss.dwServiceType=type;rnss.dwCurrentState=SERVICE_RUNNING;rnss.dwControlsAccepted=SERVICE_ACCEPT_STOP;rnss.dwWin32ExitCode=NO_ERROR;rnss.dwCheckPoint=0;rnss.dwWaitHint=0;rnSetServiceStatus(ssh,&ss);rnrnrnint main(int argc, char* argv[])rnrnSERVICE_TABLE_ENTRY ste[2]; rn//一个Service进程可以有多个线程,这是每个线程的入口表rnste[0].lpServiceName="W.Z.SERVICE"; //线程名字rnste[0].lpServiceProc=ServiceMain;rn//线程入口地址rnste[1].lpServiceName=NULL; rn//最后一个必须为NULLrnste[1].lpServiceProc=NULL; rnStartServiceCtrlDispatcher(ste);rn return 0;rn
问三个比较小白的问题
1.cs中如何调用另一cs中的类?比如在a.cs中使用b.cs中的类?rn2.dll文件里的代码,是否是把cs里的代码直接复制过去就行?rn3.dll从自己电脑上传到另一台电脑上一定要注册才能用么?
相关热词 c# 去空格去转义符 c#用户登录窗体代码 c# 流 c# linux 可视化 c# mvc 返回图片 c# 像素空间 c# 日期 最后一天 c#字典序排序 c# 截屏取色 c#中的哪些属于托管机制