我对andriod app的想法有问题.我想在其中播放视频,但我不想从interenet下载它.在其他情况下,我想在设备上使用它.
所以,人是从Android市场下载它,可以播放视频而无需下载.我已经想出了一些解决方案,但没有一个是好的.
第一个是将它添加到应用程序资源,但你不能在那里有视频.
第二个是在安装期间添加或更好地创建文件夹(更多specyfic first onCreate方法),然后从app复制视频.嗯,没有那么糟糕的选择(你可以例如下载一次只有网络使用后台服务的视频)但我不知道如何删除卸载,因为你的应用程序不知道什么时候它是unistalled.
那么有人知道或有任何想法吗?
我试图添加一个简单的for循环与线程,但仍然有些事情没有成功.我检查了很多原因,我找不到任何解决办法.
我有一个简单的类,有两种方法A()
和B()
.从另一个班级,我正在呼唤方法A()
.这是它的样子:
void MyClass::A()
{
std::vector<std::thread> threads;
for(int i=0;i<2;i++)
{
threads.push_back(std::thread(&MyClass::B, this));
}
for(auto &t : threads)
{
if(t.joinable())
t.join();
}
}
void MyClass::B()
{
}
Run Code Online (Sandbox Code Playgroud)
然而,我仍然收到一些错误:
#0 ?? ?? () (??:??)
#1 00446D62 pthread_create_wrapper () (??:??)
#2 75327FB0 msvcrt!_cexit() (C:\Windows\SysWOW64\msvcrt.dll:??)
#3 040C8710 ?? () (??:??)
#4 753280F5 msvcrt!_beginthreadex() (C:\Windows\SysWOW64\msvcrt.dll:??)
#5 75B17C04 KERNEL32!BaseThreadInitThunk() (C:\Windows\SysWOW64\kernel32.dll:??)
#6 77ABAB8F ?? () (??:??)
#7 77ABAB5A ?? () (??:??)
#8 ?? ?? () (??:??)
Run Code Online (Sandbox Code Playgroud)
有人知道出了什么问题吗?
只是添加一件事.这个:
void MyClass::A()
{ …
Run Code Online (Sandbox Code Playgroud) 我想在我的应用程序中使用实时绘图制作简单的线条图.我知道有很多不同的图书馆,但它们太大或没有正确的功能或许可证.
我的想法是制作自定义视图,只是扩展View
类.使用OpenGL
在这种情况下会像射击用佳能鸭子.我已经有了绘制静态数据的视图 - 首先我将所有数据放在float
我的Plot
对象的数组中,然后使用循环绘制类的onDraw()
方法中的所有内容PlotView
.
我还有一个线程可以为我的情节提供新数据.但现在的问题是如何在添加新数据时绘制它.首先想到的是简单地添加新点和绘图.添加另一个.但我不确定在100或1000点会发生什么.我正在添加新点,请求视图使自己无效,但仍然没有绘制一些点.在这种情况下,即使使用某个队列也可能很困难,因为onDraw()
它将从头开始,因此队列元素的数量将增加.
你会推荐什么来达到这个目标?
我试图添加到我的应用程序特定的TTS引擎 - 不是基于系统,所以每个人将有另一个,但一个人.
在文档中有方法:setEngineByPackageName(),看起来它会成为我想要的.但是,在早些时候看到其他类似的问题我发现了一些使用这种方法的东西:https://stackoverflow.com/questions/12549086/selecting-required-tts-programmatically-in-android.
它看起来很不错,但它在系统检查后是否安装了TTS引擎,如果没有安装TTS引擎则使用它(没有定义哪一个).
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// Fire off an intent to check if a TTS engine is installed
Intent checkIntent = new Intent();
checkIntent.setAction(TextToSpeech.Engine.ACTION_CHECK_TTS_DATA);
startActivityForResult(checkIntent, MY_DATA_CHECK_CODE);
}
public void onActivityResult(int requestCode, int resultCode, Intent data)
{
if (requestCode == MY_DATA_CHECK_CODE)
{
if (resultCode == TextToSpeech.Engine.CHECK_VOICE_DATA_PASS)
{
// success, create the TTS instance
mTts = new TextToSpeech(this, this);
}
else
{
// missing data, install it
Intent …
Run Code Online (Sandbox Code Playgroud) 遵循关于编程书籍的两个重要问题:The Definitive C++ Book Guide and List和The Definitive C Book Guide and List我想建议为汇编语言创建这样的列表。
这可能是一种古老且现在不太流行的语言,但我相信对它的深入了解只会有助于使用高级语言进行软件开发。
请提供优质书籍和大致的技能水平。因为每个处理器都有一些自己的特定说明,所以请不要参考手册- 如果有人需要,那么很容易找到。
我想在用户移动后检测地图中心在哪里。目前我有这段代码负责检测鼠标移动开始的纬度和经度:
var lat, lng;
mymap.addEventListener('mousemove', function(ev) {
lat = ev.latlng.lat;
lng = ev.latlng.lng;
});
document.getElementById("mapid").addEventListener("click", function (event) {
console.log(lat + ' - ' + lng);
return false;
});
Run Code Online (Sandbox Code Playgroud)
不幸的是它并没有像我想象的那样工作。我试图找到一些负责停止移动的事件,除了拖动结束事件之外,该事件仅适用于标记,而不仅仅是移动,我找不到这样的事件。第二个问题也是 - 如何检测地图的中心。
有人对此有任何解决方案吗?
我的着色器出了问题.我正在尝试使用glsl在我的游戏中添加纹理和phong着色但我无法获得任何好的效果.
我一直在搜索谷歌很长一段时间,我找不到任何信息如何连接光和纹理在一起,所以我决定写在这里问.
这是我没有纹理的游戏:
这是纹理:
我想要实现的是让这个粉红色的纹理在中心点上更好地可见 - 就像没有纹理一样,并修复那些在排水沟上的每个顶点阴影 - 按照像素着色,我不知道现在有什么问题.
我已经检查了大约10个具有phong着色的着色器,并且每个顶点也没有每个像素着色.
这是我的片段顶点代码,有人可以看到有什么东西吗?
varying vec3 N;
varying vec3 v;
uniform sampler2D myTexture;
varying vec2 vTexCoord;
void main (void)
{
vec4 finalColor = vec4(0.0, 0.0, 0.0, 0.0);
vec3 L = normalize(gl_LightSource[0].position.xyz - v);
vec3 E = normalize(-v); // we are in Eye Coordinates, so EyePos is (0,0,0)
vec3 R = normalize(-reflect(L,N));
//calculate Ambient Term:
vec4 Iamb = gl_FrontLightProduct[0].ambient;
//calculate Diffuse Term:
vec4 Idiff = gl_FrontLightProduct[0].diffuse * max(dot(N,L), 0.0);
// calculate Specular Term:
vec4 …
Run Code Online (Sandbox Code Playgroud) 我的 Android 应用程序遇到了很大的问题,我想向您寻求帮助。
我目前正在使用套接字编写 Android Client-Server 应用程序。我在互联网上找到了很多教程,并从中为我的项目创建了基础知识。然而,所有教程都仅针对一条消息发送,仅此而已。我需要发送更多,所以我一直在尝试修改它。
这是负责服务器和客户端的代码片段。其余的此时并不重要。
服务器:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
serverStatus = (TextView) findViewById(R.id.server_status);
recivedMsg = (TextView)findViewById(R.id.rec_msg);
SERVERIP = getLocalIpAddress();
Thread fst = new Thread(new ServerThread());
fst.start();
}
public class ServerThread implements Runnable {
public void run() {
try {
if (SERVERIP != null) {
handler.post(new Runnable() {
@Override
public void run() {
serverStatus.setText("Listening on IP: " + SERVERIP);
}
});
serverSocket = new ServerSocket(SERVERPORT);
while (true) {
// listen for incoming clients …
Run Code Online (Sandbox Code Playgroud) 在我的应用程序中,我使用多个线程执行一些耗时的任务,这是为了在应用程序的整个持续时间内运行.我想要实现的是一些漂亮而干净的方法在退出app之前杀掉第二个线程中的循环,所以我可以在循环后清理然后关闭所有内容.
到目前为止,我已经提出了这种方法,但说实话,我并不是它的忠实粉丝:
#include <iostream>
#include <thread>
bool stop_flag;
void foo()
{
while(!stop_flag)
{
//do something
}
clean_after();
}
int main()
{
stop_flag = false;
std::thread whileThread(foo);
// app lifetime
stop_flag = true;
whileThread.join();
return 0;
}
Run Code Online (Sandbox Code Playgroud) 我有以下内联 Formset 声明:
ModelAFormSet = generic_inlineformset_factory(
ModelA,
form=AddModelAForm,
formset=BaseModelAFormset,
min_num=1,
extra=0)
Run Code Online (Sandbox Code Playgroud)
ModelA
看起来如下:
class ModelA(models.Model):
name = models.CharField(max_length=100)
description = models.CharField(max_length=100)
content_type = models.ForeignKey(ContentType, on_delete=models.CASCADE)
object_id = models.PositiveIntegerField()
model_object = GenericForeignKey('content_type', 'object_id')
Run Code Online (Sandbox Code Playgroud)
并按BaseModelAFormset
以下方式定义:
class BaseModelAFormset(BaseGenericInlineFormSet):
def add_fields(self, form, index):
super(BaseModelAFormset, self).add_fields(form, index)
form.nested = ModelBFormset(
instance=form.instance,
data=form.data if form.is_bound else None,
files=form.files if form.is_bound else None,
prefix='%s-%s' % (
form.prefix,
ModelBFormset.get_default_prefix()),
)
Run Code Online (Sandbox Code Playgroud)
我ModelBFormset
定义如下:
ModelBFormset = inlineformset_factory(ModelA,
ModelB,
form=AddModelBForm,
extra=1)
Run Code Online (Sandbox Code Playgroud)
ModelB 看起来像这样:
class ModelB(models.Model):
quantity = models.IntegerField() …
Run Code Online (Sandbox Code Playgroud)